Hat sich in den o.g. Versionen irgendetwas am Verhalten einer Abfrage mit between geändert?
Folgendes funktioniert unter 8.1.8 (Linux) fehlerfrei:
SELECT * FROM fahrzeug WHERE (ez is not null) AND (fahrzeug."status" BETWEEN 1 AND 8) ORDER BY ez LIMIT 5
Datentyp von Status ist varchar(1)
Unter 8.3.5 (Windows) läuft diese Abfrage nicht mehr. Folgender Fehler wird generiert.
HINT: Kein Operator stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen.
Wurde das vorher intern gecastet und jetzt nicht mehr? Denn BETWEEN ‘1’ AND ‘8’ tuts unter 8.3.5.
Die Abfrage wird von Ruby in Rails generiert, und läuft eben jetzt auf meinem Testsystem nicht mehr. Frage mich halt wo jetzt der Fehler passiert, bzw. warum es auf der Linux Version wie generiert läuft, aber auf einem aktuellen System nicht mehr.