Datum und Between

  • Themenstarter Themenstarter Hamster84
  • Beginndatum Beginndatum
H

Hamster84

Hallo,

ich habe eine Datenbank in MS Access, diese beinhaltet unter anderem eine Spalte mit dem Datum, die Spalte hat auch das Format Datum/Uhrzeit.
In der Datenbank sind jetzt 10Einträge mit folgendem Datum:

10.05.2010
13.05.2010
14.05.2010
17.05.2010
18.05.2010
19.05.2010
20.05.2010
21.05.2010
25.05.2010

Folgendes SQl Statement funktioniert noch einwandfrei:

SELECT * FROM ZE WHERE Datum BETWEEN '13.05.2010' AND '21.05.2010'

Damit bekomme ich wie erwartet alle Einträge vom 13. bis zum 21.. Der 10. und 25. sind nicht dabei. Jetzt nehm ich exakt den SQL Befehl wieder her und ändere nur eine einzige Zahl:

SELECT * FROM ZE WHERE Datum BETWEEN '10.05.2010' AND '21.05.2010'

Weil ich den 10. auch gerne dabei hätte und als Ergebnis bekomme ich nun den 21. und 25.
Kann mir das jmd erklären ?

Ich habs mal getestet, der 13.05 ist der letzte der noch geht, versuche ich weiter zurückzugehen, auch schon beim 12.05, bekomme ich immer den 21. und 25..
Ich verstehs nicht...
 
Ja. Access SQL arbeitet mit dem amerikanischen Datumssystem. Beim 25.05.2010 ist klar, dass 25 kein Monat sein kann. Bei 10.05.2010 nimmt er 10 als Monat Oktober. Ist also der 5. Oktober 2010.

Dreh einfach mal überall Tag und Monat um und versuch es nochmals
 
Tatsache, wenn ich das SQL Statement umdrehe gehts. Danke erstmal für die Hilfe !

Aber fragen muss ich jetzt doch nochmal, weil ichs nicht ganz verstehe. Das Statement vom 13.05.2010 bis zum 21.05.2010 ging ja problemlos. Nur wenn ich den 13.05 in den 10.05 ändere gehts nichts mehr.

Aber sowohl 13 als auch 21 sind doch beides keine gültigen Monate, wieso ging das ? Oder ging es gerade deshalb ?
Weil der 10te wäre dann ein Monat und dann merkt er erst das was nicht stimmen kann ?

Aber wieso gibt er dann den 21. und 25. aus ? Das ist mir irgendwie suspekt.
Ich mag das nicht wenn ich nicht weiß wieso er was tut :)
 
Er merkt, dass 13 kein Monat sein kann und nimmt darum das Format DD.MM.YYYY
Aber beim 10.05.2010 geht sein eigentliches Format MM.DD.YYYY, also nimmt er sein Standartformat.

BETWEEN '10.05.2010' AND '21.05.2010' wird also als BETWEEN '5. Oktober 2010' AND '21. Mai 2010' intepretiert. Da ist der 25. Mai 2010 ganz klar dazwieschen.

Ist ahlt immer eine unschöne Sache mit den Datumsformaten und mann muss gut aufpassen
 
Zurück