sql >> Database teknologi >  >> RDS >> Sqlserver

For at hente dato fra datetime i sql

Grunden til, at din forespørgsel ikke returnerer den række, du forventer, er fordi GETDATE() returnerer dato- og klokkeslættet i det øjeblik, forespørgslen blev udført. Værdien i din DateCreated kolonne vil ikke matche tidsdelen, så ingen rækker returneres.

Der er forskellige måder at konstruere en forespørgsel på, så den evaluerer datoen kun baseret på datokomponenten. Her er et eksempel:

WHERE YEAR(datecreated) = YEAR(GETDATE())
  AND MONTH(datecreated) = MONTH(GETDATE())
  AND DAY(datecreated) = DAY(GETDATE())

Den uheldige virkelighed er, at enhver forespørgsel, der bruger en funktion i kolonnen, betyder, at hvis der findes et indeks i kolonnen, kan det ikke bruges.



  1. Sådan fungerer logins på sammenkædede servere (T-SQL-eksempler)

  2. Holland Access Developer Day 2019 – 14. september

  3. Sådan omvendt rækkefølge output af en MySQL-forespørgsel

  4. Ændre MySQL standardtegnsæt til UTF-8 i my.cnf?