FirebirdSQL logo

Types de données Les types de données sont utilisés dans le cas suivant :

  • Définissez une colonne dans une table de base de données dans l’instruction CREATE TABLE ou modifiez-la à l’aide de ALTER TABLE.

  • lors de la déclaration et de la modification d’un domaine avec l’instruction CREATE DOMAIN/ALTER DOMAIN ;

  • lors de la déclaration de variables locales dans les modules PSQL et lors de la spécification des arguments des procédures et fonctions stockées ;

  • Lors de la description de fonctions externes (UDR) pour spécifier des arguments et des valeurs de retour.

  • lors de la conversion explicite de types de données en tant qu’argument vers la fonction CAST.

Table 1. Tableau 1. Vue d’ensemble des types de données
Nom Taille Exactitude et limites de ^^ ^^ Description

BIGINT

64 bits

de -263 à (263 - 1)

Entier 64 bits. Le type de données n’est disponible que dans le dialecte 3.

BINARY(n)

n octets

de 1 à 32 767 octets

Type de données binaire de longueur fixe. Est un alias de type .CHAR(n) CHARACTER SET OCTETS.Les valeurs plus courtes que la longueur déclarée sont ajoutées avec NUL (0x00) à la longueur déclarée.Si le nombre de caractères n’est pas spécifié, la valeur par défaut est 1.

BLOB

Variable

La taille du segment est limitée à 64 Ko. La taille maximale du champ BLOB est de 32 Go. Pour la taille de page 4096, la taille maximale du champ BLOB est légèrement inférieure à 2 Go.

Type de données redimensionnable dynamiquement pour stocker des données volumineuses telles que des graphiques, des textes et des sons numérisés. Pour les objets BLOB fragmentés, l’unité structurelle de base est une partition. Le sous-type décrit le contenu.

BOOLEAN

1 octet

false, true, unknown

Type de données booléen.

CHAR(n), CHARACTER(n)

n caractères. La taille en octets dépend de l’encodage et du nombre d’octets par caractère.

de 1 à 32,767 octets

Type de données symbolique de longueur fixe. Les valeurs inférieures à la longueur déclarée sont ajoutées avec des espaces(0x20) - ou NUL (0x00) pour le jeu de caractères OCTETS - à la longueur déclarée.Si le nombre de caractères n’est pas spécifié, la valeur par défaut est 1.

DATE

4 octets

du 01.01.0001 au 31.12.9999

Juste la date sans l’heure.

DECIMAL (precision, scale)

16, 32, 64 ou 128 bits selon la précision

precision = de 1 à 38, indique au moins le nombre de chiffres à stocker;scale = de 0 à 38, spécifie le nombre de caractères après la virgule.

Nombre avec un point décimal qui a un chiffre scale après le point décimal.scale doit être inférieure ou égale à la precision.Exemple: DECIMAL(10,3) Contient un nombre exactement au format suivant : ppppppp.sss.

DECFLOAT(precision)

64 ou 128 bits selon la précision

precision = 16 ou 34, nombre de chiffres significatifs (précision)

SQL:2016 est un type de données conforme qui stocke avec précision les nombres décimaux à virgule flottante, basé sur la norme IEEE 754-2008..

DOUBLE PRECISION

64 bits

de 2.225 * 10-308 à 1.797 * 10308

IEEE double précision, 15 chiffres, la taille dépend de la plate-forme.

FLOAT

32 bits

de 1.175 * 10-38 à 3.402 * 1038

IEEE précision unique, 7 chiffres

FLOAT(precision)

32 ou 64 bits selon la précision

precision — l’exactitude dans les nombres binaires peut être comprise entre 1 et 53.

si la precision de 1 à 24 est une précision unique de 32 bits (synonyme de type FLOAT). Si la précision de 25 à 53 est une double précision de 64 bits (synonyme de DOUBLE PRÉCISION).

INTEGER, INT

32 bits

de -2147483648 à 2147483647

Signé long

INT128

128 bits

de -2^127 à 2^128-1

Entier 128 bits.

NUMERIC (precision, scale)

16, 32, 64 ou 128 selon la précision

precision = de 1 à 38, indique au moins le nombre de chiffres à stocker;scale = de 0 à 38, spécifie le nombre de caractères après la virgule.

Nombre avec un point décimal qui a un chiffre scale après le point décimal.scale doit être inférieure ou égale à la precision.Exemple: NUMERIC(10,3) Contient un nombre exactement au format suivant : ppppppp.sss.

REAL

32 bits

de 1.175 * 10-38 à 3.402 * 1038

Il est synonyme du type FLOAT.

SMALLINT

16 bits

de -32,768 à 32,767

Signé court.

TIME [WITHOUT TIME ZONE]

4 octets

0:00 à 23:59:59.9999

Heure du jour sans information sur le fuseau horaire

TIME WITH TIME ZONE

6 octets

0:00 à 23:59:59.9999

Heure de la journée avec informations sur le fuseau horaire

TIMESTAMP [WITHOUT TIME ZONE]

8 octets

de 01.01.0001 à 31.12.9999

Date incluant l’heure sans informations de fuseau horaire

TIMESTAMP WITH TIME ZONE

10 octets

de 01.01.0001 à 31.12.9999

Date, y compris l’heure avec les informations de fuseau horaire

VARBINARY(n), BINARY VARYING(n)

n octest.

de 1 à 32,765 octets

Type de données binaire de longueur variable. Est un alias de type VARCHAR(n) CHARACTER SET OCTETS.

VARCHAR(n), CHAR VARYING(n), CHARACTER VARYING(n)

n caractères.La taille en octets dépend de l’encodage et du nombre d’octets par caractère

de 1 à 32,765 octets

La taille des caractères en octets, compte tenu de leur encodage, ne peut pas dépasser 32765.Pour ce type de données, contrairement au CHAR (où la valeur par défaut est de 1 caractères), le nombre de caractères n doit être spécifié.

Note

Il convient de garder à l’esprit que la série chronologique des dates des siècles passés est considérée sans tenir compte des faits historiques réels et comme si seul le calendrier grégorien était TOUJOURS valable dans toute cette gamme.

Types de données entiers

Pour les entiers, utilisez les types de données INTEGER SMALLINT, INTEGER, BIGINT (dans le dialecte 3) et INT128. Firebird ne prend pas en charge le type de données entier non signé.