Vergleiche datetime mit Datum in SQL Server
beim Vergleich eines datetime -Werts mit nur einem Datum, das Ergebnis kann unerwartet sein. Dies liegt daran, dass der Datentyp von DateTime sowohl Datum als auch Zeitkomponenten enthält. Wenn Sie beispielsweise eine Benutzertabelle mit einer dategrierten Spalte mit DateTime -Typ haben wobei u.datececreated = '2014-02-07'
Select * from [User] U where U.DateCreated = '2014-02-07'
Diese Abfrage ist sargierbar, was bedeutet, dass es einen Index in der datekroierten Spalte verwenden kann. Dies wird jedoch nicht empfohlen. Using functions in the WHERE clause or join conditions:
Removes the ability of the optimizer to use an index on the fieldSelect * from [User] U where U.DateCreated >= '2014-02-07' and U.DateCreated < dateadd(day,1,'2014-02-07')Adds unnecessary calculations for each row of data
Avoiding BETWEEN
BETWEEN should also be avoided when dealing with date and time Bereiche. Verwenden Sie stattdessen das folgende Formular:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3