Firebird Documentation IndexFirebird 2.5 SprachreferenzDatentypen und Unterdatentypen → Integer-Datentypen
Firebird Home Firebird Home Zurück: Datentypen und UnterdatentypenFirebird Documentation IndexNach oben: Datentypen und UnterdatentypenWeiter: Fließkomma-Datentypen

Integer-Datentypen

Inhaltsverzeichnis

SMALLINT
INTEGER
BIGINT

Die Datentypen SMALLINT, INTEGER und BIGINT werden für Ganzzahlen verschiedener Präzisionen in Dialekt 3 verwendet. Firebird unterstützt keine vorzeichenlosen (unsigned) Integer.

SMALLINT

Der Datentyp SMALLINT dient dem Speichern von Kleinstzahlen mit einem Bereich -216 bis 216 - 1, also von -32.768 bis 32.767.

SMALLINT-Beispiel: 

      CREATE DOMAIN DFLAG AS SMALLINT DEFAULT 0 NOT NULL
        CHECK (VALUE=-1 OR VALUE=0 OR VALUE=1);

      CREATE DOMAIN RGB_VALUE AS SMALLINT;
        

INTEGER

Daten vom Typ INTEGER werden als 4-Byte-Integer repräsentiert. Der Kurzname dieses Datentyps ist INT. Der gültige Bereich des Datentyps INTEGER reicht von -232 bis 232 - 1, also von -2.147.483.648 bis 2.147.483.647.

INTEGER_Beispiel: 

CREATE TABLE CUSTOMER (
  CUST_NO INTEGER NOT NULL, 
  CUSTOMER VARCHAR(25) NOT NULL, 
  CONTACT_FIRST VARCHAR(15), 
  CONTACT_LAST VARCHAR(20),
  CONSTRAINT INTEG_60,
  ...
    PRIMARY KEY (CUST_NO) )
        

BIGINT

BIGINT ist ein SQL:99-konformer, 64-Bit langer Integer-Datentyp, der nur in Dialekt 3 zur Verfügung steht. Wenn der Client Dialekt 1 verwendet, sendet der Server den auf 32 Bit (Integer) reduzierten Generatorwert. Bei Dialekt 3 wird der Datentyp BIGINT verwendet.

Der Zahlenraum des Datentyps BIGINT liegt im Bereich zwischen -263 und 263 - 1, also von -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807.

Hexadezimales Format für BIGINT-Zahlen: Seit Firebird 2.5 können Zahlen vom Datentyp BIGINT auch im Hexadezimalen Format geschrieben werden. Dabei können 9 bis 16 Stellen angegeben werden. Kürzere Hexadezimalzahlen werden als INTEGER interpretiert.

BIGINT-Beispiel: 

       CREATE TABLE WHOLELOTTARECORDS (
         ID BIGINT NOT NULL PRIMARY KEY,
         DESCRIPTION VARCHAR(32)
        );

       INSERT INTO MYBIGINTS VALUES (
         -236453287458723,
         328832607832,
         22,
         -56786237632476,
         0X6F55A09D42, -- 478177959234
         0X7FFFFFFFFFFFFFFF, -- 9223372036854775807
         0XFFFFFFFFFFFFFFFF, -- -1
         0X80000000, -- -2147483648, ein INTEGER
         0X080000000, -- 2147483648, ein BIGINT
         0XFFFFFFFF, -- -1, ein INTEGER
         0X0FFFFFFFF -- 4294967295, ein BIGINT
        );
        

Die hexadezimalen INTEGER im obigen Beispiel werden automatisch in den BIGINT-Datentyp gewandelt, bevor sie in die Tabelle eingefügt werden. Jedoch passiert dies nachdem der numerische Wert bestimmt wurde, wodurch 0x80000000 (8 Stellen) und 0x080000000 (9 Stellen) als unterschiedliche BIGINT-Werte gespeichert werden.

Zurück: Datentypen und UnterdatentypenFirebird Documentation IndexNach oben: Datentypen und UnterdatentypenWeiter: Fließkomma-Datentypen
Firebird Documentation IndexFirebird 2.5 SprachreferenzDatentypen und Unterdatentypen → Integer-Datentypen