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

DATEDIFF() o BETWEEN para rangos de fechas en consultas SQL

Sus dos consultas no son equivalentes. El datediff la versión incluirá todos los valores desde 01-Jan-2013 independientemente del tiempo, mientras que la versión intermedia incluirá solo las filas en 01-Jan-2013 donde el tiempo es 00:00:00 .

Si verifica contra el rango y no hace ningún cálculo en la columna, su consulta podrá usar un índice en Something_Date y al mismo tiempo incluir todos los valores desde 01-Jan-2013 independientemente de la parte del tiempo.

where
  SIH.[Something_Date] >= '19700101' and
  SIH.[Something_Date] < '20130102'