SELECT
CASE WHEN '04/10/2006' < '07/01/2013' THEN 'TRUE' ELSE 'FALSE'
END
Ausgang: TRUESQL Server - Datum Vergleich
SELECT
CASE WHEN '10/31/2006' > '07/01/2012' THEN 'TRUE' ELSE 'FALSE'
END
Ausgang: TRUE
Das ist so verwirrend. Ich habe diese beiden Abfragen ausgeführt, und ich habe o/p als wahr für beide Abfragen. Die o/p zu 1. Abfrage ist korrekt. Sollte die Ausgabe zur 2. Abfrage nicht falsch sein? Kann mir bitte jemand helfen?
Ihre Vergleichszeichenfolgen, aber keine Daten. Verwenden Sie entweder DATE oder geben Sie die Zeichenfolgen im Format 'YYYY-MM-DD' an. – dnoeth
Ihre Abfrage vergleicht DATEN nicht, es vergleicht STRINGS – sepupic
SQL weiß nicht, dass Sie möchten, dass Ihre Datumszeichenfolgen (d. H. "10/31/2006") als Daten behandelt werden, sodass sie als Strings behandelt werden. Explizit CAST sie zuerst zu DATETIME-Datentyp. – RBarryYoung