FirebirdSQL logo

Syntaxe des types de données scalaires

Les types de données scalaires sont des types de données simples qui contiennent une seule valeur.La syntaxe des types BLOB est traitée séparément dans la section Syntaxe des types de données BLOB.

Syntaxe:
<domain_or_non_array_type> ::=
    <scalar_datatype>
  | <blob_datatype>
  | [TYPE OF] domain
  | TYPE OF COLUMN rel.col

<scalar_datatype> ::=
    {SMALLINT | INT[EGER] | BIGINT | INT128}
  | BOOLEAN
  | {FLOAT | REAL | DOUBLE PRECISION}
  | [LONG] FLOAT [(binary-precision)]
  | DECFLOAT[({16 | 34})]
  | DATE
  | {TIME | TIMESTAMP} [{WITH | WITHOUT} TIME ZONE]
  | {DECIMAL | NUMERIC} [(precision [, scale])]
  | {VARCHAR | {CHAR | CHARACTER} VARYING} (length)
    [CHARACTER SET charset]
  | {CHAR | CHARACTER} [(length)] [CHARACTER SET charset]
  | {NCHAR | NATIONAL {CHARACTER | CHAR}} VARYING (length)
  | {NCHAR | NATIONAL {CHARACTER | CHAR}} [(length)]
Table 1. Paramètres d’une déclaration de types scalaires
Paramètre Description

domaine

nom du domaine (pas uniquement les domaines du tableau).

rel

Nom de la table ou de la vue.

col

Nom de la colonne de la table ou de la vue (uniquement les colonnes qui ne sont pas des tableaux).

binary-precision

Précision binaire.De 1 à 53 bits.

précision

Précision décimale.1 à 38 chiffres décimaux.

Scale

Echelle ou nombre de décimales.De 0 à 38.Elle doit être inférieure ou égale à la précision.

longueur

Longueur maximale de la chaîne en caractères.

charset

Le jeu de caractères.

domaine_ou_non_type_réseau

Types de non tableau qui peuvent être utilisés dans le code PSQL et l’instruction CAST.

Utilisation des domaines dans les déclarations

Le nom de domaine peut être spécifié comme un type de paramètre PSQL ou de variable locale.Le paramètre ou la variable hérite de tous les attributs du domaine.Si une valeur par défaut est spécifiée pour un paramètre ou une variable, elle remplace la valeur par défaut spécifiée dans la définition du domaine.

Si la clause TYPE OF est ajoutée devant un nom de domaine, seul le type de données du domaine est utilisé : tous les autres attributs du domaine — la contrainte NOT NULL, la contrainte CHECK, la valeur par défaut — ne sont pas vérifiés ou utilisés.Toutefois, si un domaine est de type texte, son jeu de caractères et sa séquence de tri sont toujours utilisés.