Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server datetime WIE auswählen?

Sie könnten die Funktion DATEPART() verwenden

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

Ich finde diesen Weg einfach zu lesen, da er die Zeitkomponente ignoriert und Sie nicht das Datum des nächsten Tages verwenden müssen, um Ihre Auswahl einzuschränken. Sie können zu einer größeren oder geringeren Granularität gehen, indem Sie zusätzliche Klauseln hinzufügen, indem Sie den entsprechenden DatePart-Code verwenden, z. B.

AND    DATEPART(hh, register_date) = 12)

um Aufzeichnungen zu erhalten, die zwischen 12 und 1 gemacht wurden.

Die vollständige Liste gültiger Argumente finden Sie in der MSDN DATEPART-Dokumentation.