Die Angabe eines lokalisierten (länderspezifischen) Strings, der ein Datum enthält, funktioniert nur dann, wenn die Clientsession dieses Format eingestellt hat. Das wird idR grundsätzlich erstmal erreicht, wenn ein Setupprogramm bei der Installation des
DB Client diese Ländereinstellung des
OS erkennt und zur Verwendung durch den
DB Client einstellt.
Das betrifft die Parameterangabe als Text.
Dann gibt es noch die
DB Seite mit dem zu vergleichenden Feld, die natürlich dann auch vom Typ Date sein sollte, häufig aber aus Unkenntnis oder Faulheit ebenfalls als String deklariert ist und einen sauberen Vergleich unnötig erschwert.
Letztlich stellt sich mir immer die Frage, warum gerade Delphi Entwickler, denen der Begriff eines Datentyps nicht fremd sein sollte, an dieser Stelle immer so rumeiern.
Warum lege ich mir also an der Stelle (bewusst) ein Überraschungsei in Nest, wenn ich weiß, dass die Funktion der Abfrage mehr oder weniger nur Zufall ist (weil sie von den Systemeinstellungen abhängt).