Ich habe 2 Daten (Datum):
Datum1 = 2010-12-31 15: 13: 48.593 Datum2
= 2010-12-31 00: 00: 00.000
Es ist am selben Tag, nur zu anderen Zeiten. Das Vergleichen von Datum1 und Datum2 mit <= funktioniert aufgrund der Uhrzeit von Datum1 nicht. Datum1 <= Datum2 ist also falsch, sollte aber wahr sein. Kann ich sie vergleichen, indem ich nur das Jahr, den Monat und den Tag betrachte, damit sie gleich sind? Sein SQL Server 2008.
Vielen Dank :)
sql-server
tsql
sql-server-2008
date
grady
quelle
quelle
Antworten:
Sollte tun, was Sie brauchen.
Testfall
Kehrt zurück
quelle
DATE
Typ vor SQL Server 2008 nicht verfügbar war.Verwenden Sie die
DATEDIFF
Funktion mit einem Datumsteil vonday
.Beachten Sie , wenn Sie testen möchten , dass
date1
<= ,date2
dann müssen Sie das testenDATEDIFF(day, date1, date2) >= 0
, oder alternativ können Sie testenDATEDIFF(day, date2, date1) <= 0
.quelle
date1
unddate2
; die Zahl der midnights das heißt, würden Sie von bekommen passierendate1
zudate2
Die einfache einzeilige Lösung ist
Sie können verschiedene andere Optionen als "dd" ausprobieren.
quelle
Ich werde immer DateDiff (Tag, Datum1, Datum2) verwendet, um zwei Datumsangaben zu vergleichen.
Kasse folgendes Beispiel. Kopieren Sie das einfach und führen Sie es auf dem MS SQL Server aus. Versuchen Sie es auch mit einem Änderungsdatum von 31 bis 30 Dez. und überprüfen Sie das Ergebnis
quelle
Versuche dies:
quelle