FirebirdSQL logo

INT128

INT128 est un type de données entier de 128 bits. Ce type n’est pas présent dans le standard SQL.

Les numéros de type INT128 vont de -2127 à 2127 - 1.

Example 1. Utilisant INT128
CREATE PROCEDURE PROC1 (PAR1 INT128)
AS
BEGIN
  -- texte de la procédure
END

Format hexadécimal pour les entiers

Les constantes de types entiers peuvent être spécifiées au format hexadécimal.

Table 1. Constantes de type entier au format hexadécimal
Nombre de chiffres hexadécimaux Type de données

1-8

INTEGER

9-16

BIGINT

17-32

INT128

L’écriture d’un SMALLINT en représentation hexadécimale n’est pas explicitement prise en charge, mais Firebird convertira de manière transparente un nombre hexadécimal en SMALLINT, si nécessaire, tant qu’il se situe dans la plage valide des valeurs positives et négatives pour un SMALLINT.

L’utilisation et les plages des nombres de notation hexadécimale sont décrites plus en détail au cours de la discussion des constantes numériques dans le chapitre intitulé « Éléments communs du langage ».

Example 1. Utilisation d’entiers spécifiés sous forme hexadécimale
INSERT INTO MYBIGINTS VALUES (
  -236453287458723,
  328832607832,
  22,
  -56786237632476,
  0X6F55A09D42, -- 478177959234
  0X7FFFFFFFFFFFFFFF, -- 9223372036854775807
  0XFFFFFFFFFFFFFFFF, -- -1
  0X80000000, -- -2147483648, INTEGER
  0X080000000, -- 2147483648, BIGINT
  0XFFFFFFFF, -- -1, INTEGER
  0X0FFFFFFFF -- 4294967295, BIGINT
);

L’hexadécimal INTEGER est automatiquement converti au type BIGINT avant d’être inséré dans le tableau. Toutefois, cela se produit après avoir défini une valeur numérique, de sorte que 0x80000000 (8 chiffres) et 0x080000000 (9 chiffres) seront enregistrés dans des formats différents. La valeur 0x80000000 (8 chiffres) sera enregistrée au format INTEGER , et la 0x080000000 (9 chiffres) sous la forme BIGINT.