Sagt mal, ist es nicht ein wenig verwunderlich, wenn ein EAN-Code, der aus ZEICHEN besteht, ...
Streng genommen besteht der EAN-Code aus Ziffern
Strenger genommen besteht der EAN-Code aus Zeichen, die auf die Ziffern beschränkt sind.
die EAN steht als String in einem 20 Zeichen grossen char()- Feld in der
DB
Und dann wird er als FLOAT gecastet und man wundert sich, das die letzten Stellen flöten gehen?
aus einer gültigen EAN "4008400401027" wird
4008400388096
Versuche es mit numeric(13), dann bleiben alle Stellen erhalten. Wenn Firebird das kann.
Hier mal der Grund:
Zitat von
Firebird 2.0 Online Manual:
FLOAT specifies a single-precision, 32-bit datatype with a precision of approximately 7 decimal digits.
Stimmt sogar auffallend.