sql >> Databáze >  >> RDS >> Mysql

DATEDIFF() nebo BETWEEN pro rozsahy dat v dotazech SQL

Vaše dva dotazy nejsou ekvivalentní. datediff verze bude obsahovat všechny hodnoty z 01-Jan-2013 bez ohledu na čas, zatímco verze mezi verzemi bude obsahovat pouze řádky z 01-Jan-2013 kde čas je 00:00:00 .

Pokud zkontrolujete rozsah a neprovedete žádné výpočty ve sloupci, váš dotaz bude moci použít index na Something_Date a zároveň zahrnout všechny hodnoty z 01-Jan-2013 bez ohledu na časovou část.

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



  1. PHPExcel a zalamování textu

  2. Funkce RPAD() v Oracle

  3. 3 metody opětovného sestavení všech indexů pro všechny tabulky pomocí T-SQL v databázi SQL Server

  4. Vícenásobné databázové připojení v Rails