Jeśli twój przykład powinien wskazywać 70 w pierwszym rzędzie, to
zakładając @range_start i @range_end jako parametry warunku:
SELECT SUM( LEAST(@range_end, stop) - GREATEST(@range_start, start) )
FROM Table
WHERE @range_start < stop AND @range_end > start
przy użyciu największej /least i funkcje daty powinieneś być w stanie uzyskać to, czego potrzebujesz bezpośrednio, działając na typie daty.