SQL Server: Datetime-Tag mit GETDATE () vergleichen

7

Ich habe eine gespeicherte Prozedur, die alle Datensätze mit einem Datum abrufen soll, das dem aktuellen Datum oder der Zukunft entspricht. Die Daten werden in der Spalte targetDate gespeichert und als datetime formatiert. Meine entsprechende WHERE-Klausel ist die folgende:

%Vor%

Im Allgemeinen funktioniert meine gespeicherte Prozedur gut. Mein einziges Problem ist, wenn das Zieldatum dem aktuellen Datum entspricht, da alle Daten wie folgt gespeichert werden, d. h. mit der auf Nullen gesetzten Zeit:

%Vor%

Wie muss ich meine WHERE-Klausel ändern, so dass sie nur das Datum berücksichtigt, aber die damit gespeicherte Zeit ignoriert, damit ich auch dann Datensätze mit dem aktuellen Datum bekomme, wenn die Zeit bereits verstrichen ist?

Vielen Dank für jede Hilfe, Tim.

    
user2571510 22.02.2014, 18:49
quelle

2 Antworten

20

Wechsel zu:

%Vor%

Bearbeiten - da targetdate auch Zeit enthält, ja, formatiere beides wie folgt:

%Vor%

Bearbeiten - gegebene Kommentare re: Leistung, möchte versuchen:

%Vor%

Die letzte Bearbeitung sollte Ihnen das gleiche Ergebnis liefern und die Vorteile von Indizes für das Zieldatum nutzen

    
Brian DeMilia 22.02.2014, 18:56
quelle
2

Folgendes sollte Ihnen das aktuelle Datum ohne Zeitangabe geben:

%Vor%

Dies sollte Ihre letzte Zeile sein:

%Vor%     
Preli 22.02.2014 18:55
quelle

Tags und Links