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

SQL Server datetime LIKE vælge?

Du kan bruge funktionen DATEPART()

SELECT * FROM record 
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

Jeg finder denne måde let at læse, da den ignorerer tidskomponenten, og du behøver ikke bruge næste dags dato for at begrænse dit valg. Du kan gå til større eller mindre granularitet ved at tilføje ekstra klausuler ved at bruge den relevante DatePart-kode, f.eks.

AND    DATEPART(hh, register_date) = 12)

for at få optegnelser lavet mellem 12 og 1.

Se MSDN DATEPART-dokumenterne for den fulde liste over gyldige argumenter.



  1. Lås Oracle-databasen, før du kører Slet/indlæs data-scripts

  2. Gemmer ændringer efter tabelredigering i SQL Server Management Studio

  3. Virtuelle kolonner og funktionelle indekser

  4. Funktion vs. lagret procedure i SQL Server