FirebirdSQL logo
 Types de donnéesLanguage de définition des données (DDL) 
Jeu de caractères pour les chaînes littérales

Si nécessaire, un littéral de chaîne de caractères peut être précédé d’un nom de jeu de caractères qui commence par le préfixe de soulignement “_”.C’est ce qu’on appelle la syntaxe de l’introducteur. Son but est d’indiquer à Firebird comment interpréter et stocker une chaîne entrante.

Example 1. Syntaxe d’introduction pour les littéraux de chaînes de caractères
-- notez le préfixe '_'
INSERT INTO People
VALUES (_ISO8859_1 'Hans-Jörg Schäfer');

Constantes numériques

Une constante numérique est un nombre valide dans l’une des notations prises en charge :

  • En SQL, pour les nombres en notation décimale standard, le point décimal est toujours représenté par un caractère de point et les milliers ne sont pas séparés. L’inclusion de virgules, d’espaces, etc. entraînera des erreurs.

  • Notation exponentielle, par exemple le nombre 0.0000234 peut être écrit comme 2.34e-5.

  • La notation hexadécimale (voir ci-dessous) des nombres est supportée à partir de Firebird 2.5.

Le tableau suivant présente les formats des littéraux numériques et leurs types.Où <d> est un chiffre décimal, <h> est un chiffre hexadécimal.

Table 1. Format des constantes numériques
Format Type

<d>[<d> …​]

INTEGER, BIGINT, INT128 ou DECFLOAT(34) (dépend du fait que la valeur corresponde ou non au type de). DECFLOAT(34) est utilisé pour les valeurs qui ne rentrent pas dans le type INT128.

0{x|X} <h>[<h> …​]

INTEGER pour les chiffres hexadécimaux de 1 à 8, BIGINT pour les chiffres de 9 à 16, INT128 pour les chiffres de 17 à 32 (disponible avec Firebird 4.0.1).

<d>[<d> …​].[<d> …​]

NUMERIC(18, n), NUMERIC(38, n) ou DECFLOAT(34)n dépend du nombre de chiffres après la virgule et la précision du nombre total de chiffres.

Pour des raisons de compatibilité ascendante, certaines valeurs à 19 chiffres sont mappées en NUMERIC(18, n).DECFLOAT(34) est utilisé lorsque la valeur non scalée ne tient pas dans INT128.

<d>[<d> …​][. [<d> …​]] E <d>[<d> …​]

DOUBLE PRECISION ou DECFLOAT(34), où DECFLOAT n’est utilisé que si le nombre de chiffres est égal ou supérieur à 20, ou si la valeur absolue de l’exposant est égale ou supérieure à 309.