sql >> Databasteknik >  >> RDS >> Mysql

DATEDIFF() eller BETWEEN för datumintervall i SQL-frågor

Dina två frågor är inte likvärdiga. datediff version kommer att inkludera alla värden från 01-Jan-2013 oavsett tid medan mellanversionen endast kommer att inkludera raderna på 01-Jan-2013 där tiden är 00:00:00 .

Om du kontrollerar mot intervallet och inte gör några beräkningar på kolumnen, kommer din fråga att kunna använda ett index på Something_Date och inkludera samtidigt alla värden från 01-Jan-2013 oavsett tidsdel.

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



  1. Vad är skillnaden mellan ifnull och coalesce i mysql?

  2. Returnera primärnycklar från en länkad server i SQL Server (T-SQL-exempel)

  3. Få det första och sista datumet nästa månad i MySQL

  4. Jämföra datalager för PostgreSQL - MVCC vs InnoDB