Gibt man in einer Abfrage ein Datum an, kommt es öfters zu Problemen. Die grundsätzliche Frage, die sich stellt ist: In welchem Format gebe ich das Datum in meiner Abfrage an, damit der SQL Server mich versteht?
Intuitiv wählen viele das deutsche Datumsformat DD.MM.YYYY (also Tag.Monat.Jahr).Beispiel:
SELECT * FROM Orders WHERE Orderdate = '04.05.1998'
Der Erfolg gibt uns Recht. Erstmal.
Irgendwann kommt aber ein Kollege zu Dir und meint, dass die Abfrage bei ihm nicht funktioniert. Das liegt wahrscheinlich an seiner Spracheinstellung. Er könnte diese ändern, zum Beispiel mit dem SQL-Befehl
set language german
Will er aber nicht. Die spannende Frage ist: Welches Datumsformat kann ich in der Abfrage angeben, was in jeder Spracheinstellung funktioniert? Die Antwort: YYYYMMDD. Was heißt das? Gib das Datum im Format Jahr Monat Tag ohne Sonderzeichen an. Das funktioniert in jeder Sprache. Beispiel:
SELECT * FROM Orders WHERE Orderdate = '19980504'