Als uw voorbeeld 70 in de eerste rij had moeten zeggen, dan
uitgaande van @range_start en @range_end als uw conditieparameters:
SELECT SUM( LEAST(@range_end, stop) - GREATEST(@range_start, start) )
FROM Table
WHERE @range_start < stop AND @range_end > start
met behulp van de beste /least and datumfuncties je zou in staat moeten zijn om te krijgen wat je nodig hebt, direct werkend op het datumtype.