Notation hexadécimale des nombres

Les constantes entières peuvent être spécifiées au format hexadécimal. A partir de Firebird 4.0.1, les nombres composés de 17 à 32 chiffres hexadécimaux seront interprétés comme INT128.

Syntaxe:
{x|X}<hexdigits>

<hexdigits> ::= 1-32 of <hexdigit>

<hexdigit> ::= 0..9 | A..F | a..f
Table 1. Constantes de types entiers au format hexadécimal
Nombre de chiffres hexadécimauxType de données

1-8

INTEGER

9-16

BIGINT

17-32

INT128

Example 1. Constantes hexadécimales
SELECT 0x6FAA0D3 FROM rdb$database -- returns 117088467
SELECT 0x4F9 FROM rdb$database -- returns 1273
SELECT 0x6E44F9A8 FROM rdb$database -- returns 1850014120
SELECT 0x9E44F9A8 FROM rdb$database -- returns -1639646808 (an INTEGER)
SELECT 0x09E44F9A8 FROM rdb$database -- returns 2655320488 (a BIGINT)
SELECT 0x28ED678A4C987 FROM rdb$database -- returns 720001751632263
SELECT 0xFFFFFFFFFFFFFFFF FROM rdb$database -- returns -1