Se il tuo esempio avrebbe dovuto dire 70 nella prima riga, allora
assumendo @range_start e @range_end come parametri di condizione:
SELECT SUM( LEAST(@range_end, stop) - GREATEST(@range_start, start) )
FROM Table
WHERE @range_start < stop AND @range_end > start
utilizzando il più grande /least e funzioni data dovresti essere in grado di ottenere ciò di cui hai bisogno operando direttamente sul tipo di data.