Also da muss ich jetzt mal was loswerden!
Wieso scheren sich Entwickler, die bei Delphi die Typsicherheit loben (aber durchaus auch andere), bei der Nutzung von
SQL 'nen Teufel um die Datentypen?
Da wird verglichen auf teufelkommraus, aber mal links und rechts des Gleichheitszeichens den gleichen Datentyp verwenden?
Warum, solange es nicht knallt, wird es wohl schon gehen.
Und wenn nicht: Erst ist es mal ein Probelm der Datenbank und deren fehlerhaften Funktionen.
Übrigens ein Problem, dass ich schon meine ganze Zeit als Entwickler immer und immerwieder beobachten durfte, ist also nix persönliches oder explizites hier in diesem Thread oder Forum.
Nur ganz allgemein und extrem nervend.
Man sucht Fehler in 'ner Datenbank und deren Implementierung.
Kaum achtet man mal auf den Datentyp, schon hat sich das Problem in Luft aufgelöst.
Vermutlich ist das größte Problem bei der Nutzung von
SQL, dass es bei unterschiedlichen Datentypen extrem fehlertolerant ist, aber diese Fehlertoleranz nicht immer im Sinne der Wünsche der Nutzer erfolgt, sondern im Sinne der technischen Implementierung der Datenbank.
Oder kurz:
Wenn ich Zeichenfolgen zu vergleichen habe, dann vergleiche ich Zeichenfolgen.
Wenn ich nummerische Werte zu vergleichen habe, dann vergleiche ich nummerische Werte.
Muss ich das Eine mit dem Anderen vergleichen, dann nutze ich die entsprechend Typkonvertierung und verlasse mich nicht darauf, dass die Datenbank selbständige die Typkonvertierung nutzt, von der ich meine, dass sie im konkreten Fall die Richtige sei.
Das kann funktionieren, muss aber nicht. Und der Fehler liegt dann nicht in der Datenbank, sondern sitzt davor.
So, genug gemeckert