Mysql
 sql >> Baza danych >  >> RDS >> Mysql

DATEDIFF() lub BETWEEN dla zakresów dat w zapytaniach SQL

Twoje dwa zapytania nie są równoważne. datediff wersja będzie zawierała wszystkie wartości od 01-Jan-2013 niezależnie od czasu, podczas gdy wersja między wersjami będzie zawierać tylko wiersze w dniu 01-Jan-2013 gdzie czas to 00:00:00 .

Jeśli sprawdzisz zakres i nie wykonasz żadnych obliczeń w kolumnie, Twoje zapytanie będzie mogło użyć indeksu w Something_Date i jednocześnie uwzględnij wszystkie wartości od 01-Jan-2013 niezależnie od pory.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Architektura bazy danych dla milionów nowych wierszy dziennie

  2. W CentOS7 nie można uruchomić MySQL

  3. Co jest nie tak z tą instrukcją MySQL:DECLARE @ID INT

  4. Zrozumienie normalizacji i duplikatów — chyba nie — dodawanie identyfikatorów wykonawców i tytułów

  5. Jak mogę iterować przez zestaw wyników MySQL?