Heim >Datenbank >MySQL-Tutorial >Wie vergleiche ich Datetime-Werte effizient nur mit dem Datumsteil in SQL Server?
Vergleichen von Datetime-Werten mit nur Datum in SQL Server
Beim Abfragen einer Datenbank nach Datensätzen, die an einem bestimmten Datum erstellt wurden, ist es wichtig, Folgendes zu berücksichtigen Datum/Uhrzeit-Art der Spalte. Der Vergleich eines Datums-/Uhrzeitfelds nur mit dem Datumsteil unter Verwendung des Gleichheitsoperators (z. B. U.DateCreated = '2014-02-07') liefert möglicherweise nicht die erwarteten Ergebnisse.
Lösung 1: Verwendung von Datumsbereichen
Um ein Datum/Uhrzeit-Feld nur mit dem Datumsteil genau zu vergleichen, verwenden Sie ein Datum Bereich:
Select * from [User] U where U.DateCreated >= '2014-02-07' and U.DateCreated < dateadd(day,1,'2014-02-07')
Dieser Ansatz stellt sicher, dass Datensätze, die am „07.02.2014“ erstellt wurden, unabhängig von der Zeitkomponente abgerufen werden.
Grund für die Vermeidung von Funktionen in der WHERE-Klausel
Es wird nicht empfohlen, Funktionen (z. B. konvertieren) in der WHERE-Klausel für zwei Hauptfunktionen zu verwenden Gründe:
Best Practice für Datumsbereiche
Für optimale Leistung und Genauigkeit bei der Abfrage von Datums- und Zeitbereichen empfiehlt es sich, das folgende Format zu verwenden:
WHERE col >= '20120101' AND col < '20120201'
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Datetime-Werte effizient nur mit dem Datumsteil in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!