FLOAT und DOUBLE PRECISION
<< Feld | IBExpert Glossar | Forced Writes (Synchrones Schreiben) >>
FLOAT
und DOUBLE PRECISION
FLOAT
-Datentypen werden verwendet, um Werte mit signifikanten Dezimalstellen zu speichern. Die folgenden FLOAT
-Typen werden unterstützt:
Typ | Größe | Werte-Bandbreite |
---|---|---|
Float | 4 Bytes | 7 signifikante Dezimalzahlen; -3,4 x 10^-38 to 3,4 x 10^38 |
Double Precision | 8 Bytes | 15 signifikante Dezimalzahlen; -1,7 x 10^-308 to 1,7 x 10^308 |
Eine Spalten mit dem definierten Datentyp FLOAT
kann eine Gleitkommazahl mit einfacher Genauigkeit (32-Bit) mit bis zu 7 signifikanten Dezimalstellen speichern. Das Dezimalkomma kann zwischen allen diesen sieben Ziffern gleiten. Wenn eine Zahl mit mehr als 7 Stellen gespeichert werden muss, werden Dezimalzahlen nach der siebenten Stelle abgeschnitten. FLOAT
-Spalten benötigen 4 Bytes Speicherplatz.
Eine Spalte mit dem definierten Datentyp DOUBLE PRECISION
kann Zahlen mit 15 signifikanten Dezimalstellen speichern. Hierfür werden 8 Bytes Speicherplatz benötigt. As with the FLOAT
column, the decimal point can float within the column. The DOUBLE PRECISION
datatype is implemented in the majority of InterBase® platforms as a 64 bit number.
FLOAT
-Typen können für jede Rechenoperation implementiert werden. Sie bieten eine optimale Leistung und eine ausreichende Bandbreite an Werten. Das Anzeigenformat eines FLOAT
-Feldes kann unter Programmeinstellungen / Gitter / Anzeigformat.
Der Datentyp DOUBLE PRECISION
kann wie folgt geschrieben werden:
DOUBLE PRECISION DOUBLE
Der Hauptvorteil eines DOUBLE PRECISION
-Datentyps ist die große Anzahl an Dezimalstellen, z.B. wäre 1/3 in DOUBLE PRECISION
0,33333333333333
in NUMERIC(18,4)
wären es 0,3333
. Bitte beachten Sie: bis zum Dialekt 1 waren NUMERIC
und DOUBLE PRECISION
identisch, d.h. an SQL mit dem Datentyp NUMERIC(15,2)
führt zu folgendem:
Ergebnis mit Dialekt 1:
CREATE TABLE TEST(WERT NUMERIC(15,2)); INSERT INTO TEST(WERT) VALUES(100); SELECT * FROM TEST; result 100 UPDATE TEST SET WERT=WERT/3; SELECT * FROM TEST; result 33,33 UPDATE TEST SET WERT=WERT*3; SELECT * FROM TEST; result 100
Ergebnis mit Dialekt 3:
CREATE TABLE TEST(WERT NUMERIC(15,2)); INSERT INTO TEST(WERT) VALUES(100); SELECT * FROM TEST; result 100 UPDATE TEST SET WERT=WERT/3; SELECT * FROM TEST; result 33,33 UPDATE TEST SET WERT=WERT*3; SELECT * FROM TEST; result 99,99
Seit der Einführung von Dialekt 3 werden NUMERIC
-Daten entsprechend der kaufmännischen Rundungsregeln gerundet; bis zum Dialket 1 werden NUMERIC
-Daten nach den Regeln der technischen Rundung gerundet.
Siehe auch:
deutschsprachig:
Tabelleneditor
SQL Editor
englischsprachig:
Data types and subtypes
Selecting the right data type to improve database performance
Firebird 2.1 Language Reference Update
Firebird 2.0 Language Reference Update
SQL Language Reference
zurück zum Seitenanfang
<< Feld | IBExpert Glossar | Forced Writes (Synchrones Schreiben) >>