Les types de données définissent les valeurs que peuvent accepter les constantes, les colonnes, les variables SQL, les fonctions, les expressions et les registres spéciaux. Cette section décrit les types de données auxquels les exemples font référence. Pour obtenir une liste complète et une description détaillée des autres types de données, consultez le document SQL Reference.
Une chaîne de caractères est une suite d'octets. La longueur de la chaîne est le nombre d'octets de la suite. Si la longueur est égale à zéro, la valeur est appelée chaîne vide.
CHAR(x) est une chaîne de longueur fixe. La valeur de x, attribut de longueur, doit être comprise entre 1 et 254 inclus.
Il existe trois types de chaînes de caractères de longueur variable : VARCHAR, LONG VARCHAR et CLOB.
Les types VARCHAR(x) désignent des chaînes de longueur variable. C'est pourquoi une chaîne dont la longueur est égale à 9 peut être insérée dans VARCHAR(15), tout en gardant une longueur de 9 caractères.
Pour plus de détails sur CLOB, consultez la section Objets LOB.
Une chaîne graphique est une séquence de caractères double octet.
GRAPHIC(x) est une chaîne de longueur fixe. La valeur de x, attribut de longueur, doit être comprise entre 1 et 127 inclus.
Il existe trois types de chaînes graphiques de longueur variable : VARGRAPHIC, LONG VARGRAPHIC et DBCLOB. Pour plus de détails sur DBCLOB, consultez la section Objets LOB.
Une chaîne binaire est une suite d'octets. Elle accueille des données non traditionnelles, comme des illustrations. Un objet BLOB (Binary Large OBject) est une chaîne binaire. Pour plus de détails, consultez la section Objets LOB.
Tous les nombres sont accompagnés d'un signe et d'une précision. La précision est le nombre de chiffres binaires ou décimaux, signe non compris.
Le type DECIMAL comprend les nombres décimaux. La position du séparateur décimal est déterminée par la précision (p) et par l'échelle (e) du nombre. La précision est le nombre total de chiffres, qui doit être inférieur à 32. L'échelle est le nombre de chiffres dans la partie fractionnaire d'un nombre. Sa valeur est toujours inférieure ou égale à la valeur de la précision. Une valeur décimale a, par défaut, une précision égale à 5 et une échelle égale à 0.
Les dates, les heures et l'horodatage sont représentés par des valeurs sous la forme d'une chaîne de caractères de 14 chiffres : aaaaxxjjhhmmss. Ces valeurs peuvent être utilisées dans certaines opérations arithmétiques et de chaîne. Elles sont compatibles avec certaines chaînes, bien qu'elles ne soient elles-mêmes ni des chaînes ni des nombres. 1
Une valeur NULL est une valeur spéciale, distincte de toutes les autres valeurs. Elle signifie l'absence de toute autre valeur dans la cellule située à l'intersection de la colonne et de la ligne. Tous les types de données peuvent avoir une valeur NULL.
Le tableau suivant présente les caractéristiques des types de données
utilisés dans les exemples. Tous les types numériques se situent dans
une certaine plage définie, que ce tableau rappelle. Vous pouvez vous
reporter rapidement à ces informations pour vérifier que vous utilisez
correctement un type de données.
Type de données | Type | Caractéristiques | Exemple ou plage |
---|---|---|---|
CHAR(15) | Chaîne de caractères de longueur fixe | Longueur maximum : 254 | 'Jour de soleil ' |
VARCHAR(15) | Chaîne de caractères de longueur variable | Longueur maximum : 32672 | 'Jour de soleil' |
SMALLINT | Numérique | Longueur de 2 octets Précision de 5 chiffres | Entre -32768 et 32767 |
INTEGER | Numérique | Longueur de 4 octets Précision de 10 chiffres | Entre -2147483648 et 2147483647 |
BIGINT | Numérique | Longueur de 8 octets Précision de 19 chiffres | Entre -9223372036854775808 et 9223372036854775807 |
REAL | Numérique | Virgule flottante simple précision - Approximation sur 32 bits | Plage comprise entre -3.402E+38 et -1.175E-37 ou 1.175E-37 et -3.402E+38 ou encore, égale à zéro |
DOUBLE | Numérique | Virgule flottante double précision - Approximation sur 64 bits | Plage comprise entre -1.79769E+308 et -2.225E-307 ou 2.225E-307 et 1.79769E+308 ou encore, égale à zéro |
DECIMAL(5,2) | Numérique | Précision : 5 Echelle : 2 | Plage comprise entre -10**31+1 et 10**31-1 |
DATE | Date et/ou heure | Valeur en trois parties | 1997-10-27 |
TIME | Date et/ou heure | Valeur en trois parties | 13.30.05 |
TIMESTAMP | Date et/ou heure | Valeur en sept parties | 1997-10-27-13.30.05.000000 |
Pour plus d'informations, voir la table des compatibilités entre types de données dans le document SQL Reference.