Datetime-Spalten für 'Now' abzüglich einer bestimmten Zeit abfragen?

8

Gibt es in TSQL eine Möglichkeit, nach Zeilen zu suchen, bei denen der Wert einer Datetime-Spalte "jetzt minus (eine bestimmte Zeitspanne)" ist, um einen Zeitbereich auszuwählen?

Zum Beispiel könnte ich in MySQL dieses Prädikat wie folgt erstellen:

%Vor%

Wie kann dies in TSQL in SQL Server getan werden?

    
Kyle Brandt 29.03.2011, 19:11
quelle

3 Antworten

15

Sie würden die Funktion dateadd verwenden, z. B.

%Vor%

Da die Spalte endtime kein Funktionsparameter ist, kann der Abfrageoptimierer alle Indizes verwenden, die möglicherweise darauf definiert sind (die Definition von Sargable ).

    
Bobby D 29.03.2011, 19:15
quelle
3

Sie können die Funktion datediff verwenden.

Um beispielsweise Dinge zu finden, die innerhalb der letzten fünf Minuten erstellt wurden, können Sie

ausführen %Vor%     
Jarrod Dixon 29.03.2011 19:49
quelle
2

Wenn Sie versuchen, zwei Tage von heute zu subtrahieren, können Sie

tun %Vor%

DATEADD (Transact-SQL)

    
Thomas 29.03.2011 19:16
quelle

Tags und Links