Format hexadécimal pour les entiers
Les constantes de types entiers peuvent être spécifiées 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 ».
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
.