Il existe quatre types de données principaux dans le langage SQL.
Les nombres décimaux sont composés de deux parties distinctes; une avant le séparateur décimal et l'autre après. La longueur de cette dernière partie est fixée par un argument spécial, l'échelle, au sein des types de données numériques et la longueur totale par un autre argument, la précision.
La précision détermine la nombre maximum de chiffres d'une valeur numérique.
NUMERIC(Précision, Echelle) NUMERIC(8, 0) 10 000 000
L'échelle d'une valeur numérique représente le nombre de chiffres de la partie décimale, soit celle à droite du séparateur décimal, le point ou la virgule selon les spécifications du système local.
742.23876 --> Echelle = 5
La valeur de l'échelle ne peut évidemment être égale ou supérieure à la valeur de la précision.
DECIMAL(Precision, Echelle) DECIMAL(10, 5) 47 304.03274 DECIMAL(10, -7) 47 300
Les données alphanumériques peuvent être de longueur fixe ou variable.
CHARACTER(10) La taille du texte est fixée à 10 caractères.
CHARACTER VARYING(16384) La taille du texte est limitée à 16 384 caractères.
Type |
---|
Description |
NUMERIC(Précision, Echelle) DECIMAL(Précision, Echelle) DEC(Précision, Echelle) |
représente des nombres décimaux avec une précision et une échelle à préciser en arguments (ex: P = 5 et E = 2 --> 01245.32). |
INTEGER INT |
représente des nombres entiers longs. |
SMALLINT |
représente des nombres entiers courts. |
FLOAT(Précision, Echelle) |
représente un nombre réel avec une précision et une échelle à préciser en arguments (ex FLOAT(10, 5) --> 1042103686.48523). |
REAL(Echelle) |
représente un nombre réel avec une simple précision. |
DOUBLE PRECISION(Précision) |
représente un nombre à virgule flotante en double précision. |
Type |
---|
Description |
CHARACTER(Longueur) CHAR(Longueur) |
représente une valeur alphanumérique de longueur fixe. |
CHARACTER VARYING(Longueur) CHAR VARYING(Longueur) VARCHAR(Longueur) |
représente une valeur alphanumérique de longueur variable. |
NATIONAL CHARACTER NATIONAL CHAR NCHAR |
représente une valeur alphanumérique de longueur fixe dépendant du jeu de caractères du pays. |
NATIONAL CHARACTER VARYING NATIONAL CHAR VARYING NCHAR VARYING |
représente une valeur alphanumérique de longueur variable dépendant du jeu de caractères du pays. |
Type |
---|
Description |
DATE |
représente une date (ex: 10/01/2002). |
TIME |
représente une heure (ex: 10:12:42) |
TIMESTAMP |
représente une valeur de date et d'heure combinées. |
INTERVAL |
représente un intervalle de date et de temps. |
Type |
---|
Description |
BIT(Longueur) |
représente une chaîne de bit de longueur fixe. |
BIT VARYING |
représente une chaîne de bit de longueur variable. |
BINARY(Longueur) BYTES(Longueur) |
représente une valeur binaire d'une longueur précisée en argument. |
IMAGE |
représente une valeur binaire permettant de stocker des images. |
BOOLEAN LOGICAL |
représente une valeur de type booléenne qui cependant peut dans certain cas propre à SQL comporter trois états. |