sql >> Base de Datos >  >> RDS >> Mysql

Intersección de rango de fechas en SQL

Si su ejemplo debería haber dicho 70 en la primera fila, entonces

asumiendo @range_start y @range_end como sus parámetros de condición:

SELECT SUM( LEAST(@range_end, stop) - GREATEST(@range_start, start) )
FROM Table
WHERE @range_start < stop AND @range_end > start

usando el mejor /least y funciones de fecha debería poder obtener lo que necesita operando directamente en el tipo de fecha.