Zuerst einmal SQL ist noch lange nicht SQL.
Jede Engine hat ihre eigenen Feinheiten. Ich habe mir mal auf den Flohmarkt für 5 Euro ein Buch gekauft was die Feinen Unterschiede zwischen 4 Versionen erklärt.
https://www.amazon.de/SQL-GE-PACKT-Meinhardt-Schmidt/dp/3826606868 Das ist
kein Buch "wie lerne ich SQL" es ist ein Nachschlagewerk. Wie ist der Befehl und wie schreibe ich ihn richtig. Also für jemanden der weiß was er will nur nicht wie er der Befehl / Die Funktion geht. Ich liebe das Buch
Was die
# angeht. Die will MircoSoft-SQL haben beim Datumsfeld. Da aber ein Datumsfeld eigentlich in meinen Augen eine Standart-Sache ist, denke ich das die Abfrage auch normal funktioniert. Mein Hinweis auf VB sollte dir nur mitteilen, das du den Code lesen kannst, aber NICHT 1:1 in dein Projekt kopieren kannst
Davon abgesehen dokumentiert der Code sich selbst und ich muss keine Mega-Erklärung schreiben " Was was ist "
rauskommen tut dann für den 31.jan.2018 folgendes
select * from Sendungen where datum = #01/31/2018#
Der Code selbst stammt aus einer meiner Abfragen einer MS-Access-Datenbank.
Es gibt aufgrund von Ländereigenheiten bei Datumsfeldern immer Stress. Datenbanken die oft konvertiert werden haben meist wenn der Coder schlau ist, das Datumsfeld 2 x drinstehen. Einmal als Datumsfeld codiert und einmal als Text o. normal-Integer. Beide male wird das Datum dann DEUTSCH-FALSCHRUM geschrieben. z.b. 20180131 bzw. als Text 2018.01.31 . Der Grund ist das man so problemlos sortieren und VON-BIS Abfragen machen kann.
Kleiner Kommentar am Rande. Das Problem mit der Codierung hast du bei Text-Feldern. Da hilft es dann die Code-Tabelle zu wissen.
Gruß
Pucki