Abfragen datetime-Spalten für "Jetzt" minus eine gewisse Zeit?
Gibt es eine Möglichkeit in TSQL-Abfrage für Zeilen, in denen eine datetime-Spalte ist der Wert "jetzt minus (eine gewisse Zeit)" so wählen Sie einen Zeitbereich?
Beispielsweise in MySQL, die ich bauen könnte dieses Prädikat wie:
(EndTime BETWEEN NOW() - INTERVAL 2 DAY AND NOW())
Wie kann das getan werden, in TSQL SQL-Server?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die dateadd Funktion, z.B.
Weil die Spalte
endtime
ist nicht eine Funktion parameter, kann der Abfrageoptimierer verwenden Sie Indizes, die möglicherweise definiert (die definition von sargable).Wenn Sie versuchen, zu subtrahieren zwei Tage von heute, die Sie tun können,
DATEADD (Transact-SQL)
Können Sie die datediff Funktion.
Zum Beispiel, um Dinge zu finden, die innerhalb der letzten fünf Minuten, die Sie ausführen könnte
datediff
ist nicht sargable. Bobby D ' s Antwort besser geeignet.