Mysql
 sql >> Database >  >> RDS >> Mysql

DATEDIFF() o BETWEEN per Intervalli di date nelle query SQL

Le tue due domande non sono equivalenti. Il datediff la versione includerà tutti i valori di 01-Jan-2013 indipendentemente dal tempo mentre la versione intermedia includerà solo le righe su 01-Jan-2013 dove l'ora è 00:00:00 .

Se controlli l'intervallo e non esegui calcoli sulla colonna, la tua query sarà in grado di utilizzare un indice su Something_Date e allo stesso tempo includi tutti i valori di 01-Jan-2013 indipendentemente dalla fascia oraria.

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