Type de données SQL

Types de données et plages utilisés par Microsoft Access, MySQL et SQL Server.

Types de données Microsoft Access

Type de données Description Stocker
Texte Pour les textes ou les combinaisons de texte et de nombres. Jusqu'à 255 caractères.  
Memo

Memo est utilisé pour de plus longs textes. Peut stocker jusqu'à 65 536 caractères.

Remarque : Les champs memo ne peuvent pas être triés. Cependant, ils sont recherchables.

 
Byte Permet les nombres entiers entre 0 et 255. 1 octet
Integer Permet les nombres entiers entre -32 768 et 32 767. 2 octets
Long Permet tous les nombres entiers entre -2 147 483 648 et 2 147 483 647. 4 octets
Single Flottant à une précision simple. Traite la plupart des décimales. 4 octets
Double Double précision en virgule flottante. Traite la plupart des décimales. 8 octets
Devise

Pour les devises. Supporte 15 chiffres avant la virgule, plus 4 décimales.

Astuce : Vous pouvez choisir la devise du pays à utiliser.

8 octets
AutoNumber Le champ AutoNumber attribue automatiquement un numéro à chaque enregistrement, généralement à partir de 1. 4 octets
Date/Heure Pour les dates et heures 8 octets
Oui/Non

Champ logique, qui peut être affiché sous forme de Oui/Non, True/False ou Marche/Arrêt.

Dans le code, utilisez les constantes True et False (équivalent à 1 et 0)

Remarque : Les valeurs Null ne sont pas autorisées dans les champs Oui/Non

1 bit
Objet Ole Peut stocker des images, de l'audio, de la vidéo ou d'autres BLOBs (Objets Binaires de Grandes Tailles) Jusqu'à 1 Go
Hyperlien Contient des liens vers d'autres fichiers, y compris des pages web.  
Assistant de recherche Permet de créer une liste d'options à choisir à partir de la liste suivante. 4 octets

Types de données MySQL

Dans MySQL, il y a trois types principaux : texte, numérique et date/heure.

Type de texte :

Type de données Description
CHAR(DECIMAL() Enregistrer une chaîne de caractères de longueur fixe (peut contenir des lettres, des chiffres et des caractères spéciaux). Spécifiez la longueur de la chaîne dans les parenthèses. Jusqu'à 255 caractères.
VARCHAR(DECIMAL()

Enregistrer une chaîne de caractères de longueur variable (peut contenir des lettres, des chiffres et des caractères spéciaux). Spécifiez la longueur maximale de la chaîne dans les parenthèses. Jusqu'à 255 caractères.

Remarque : si la longueur de la valeur dépasse 255 caractères, elle est convertie en type TEXT.

TINYTEXT Stocke une chaîne de caractères de longueur maximale de 255 caractères.
TEXT Stocke une chaîne de caractères de longueur maximale de 65 535 caractères.
BLOB Utilisé pour BLOBs (Objets Binaires de Grandes Tailles). Stocke jusqu'à 65 535 octets de données.
MEDIUMTEXT Stocke une chaîne de caractères de longueur maximale de 16 777 215 caractères.
MEDIUMBLOB Utilisé pour BLOBs (Objets Binaires de Grandes Tailles). Stocke jusqu'à 16 777 215 octets de données.
LONGTEXT Stocke une chaîne de caractères de longueur maximale de 4 294 967 295 caractères.
LONGBLOB Utilisé pour BLOBs (Objets Binaires de Grandes Tailles). Stocke jusqu'à 4 294 967 295 octets de données.
ENUM(x,y,z,etc.)

Permet de saisir une liste de valeurs possibles. On peut citer jusqu'à 65535 valeurs dans une liste ENUM. Si la valeur insérée n'existe pas dans la liste, une valeur vide est insérée.

Remarque : ces valeurs sont stockées dans l'ordre de saisie.

Les valeurs possibles peuvent être saisies dans ce format : ENUM('X','Y','Z')

SET Similaire à ENUM, un SET ne peut contenir au plus 64 éléments de liste, mais un SET peut stocker une valeur ou plusieurs valeurs.

Type Number :

Type de données Description
TINYINT(DECIMAL() -128 à 127 ordinaire. 0 à 255 sans signe *. La position maximale des chiffres est définie entre parenthèses.
SMALLINT(DECIMAL() -32768 à 32767 ordinaire. 0 à 65535 sans signe *. La position maximale des chiffres est définie entre parenthèses.
MEDIUMINT(DECIMAL() -8388608 à 8388607 ordinaire. 0 à 16777215 sans signe *. La position maximale des chiffres est définie entre parenthèses.
INT(DECIMAL() -2147483648 à 2147483647 conventionnel. 0 à 4294967295 sans signe *. La position maximale des chiffres est définie entre parenthèses.
BIGINT(DECIMAL() -9223372036854775808 à 9223372036854775807 conventionnel. 0 à 18446744073709551615 sans signe *. La position maximale des chiffres est définie entre parenthèses.
FLOAT(DECIMAL(,size) Petits nombres avec point décimal flottant. La position maximale des chiffres est définie entre parenthèses. La position maximale des chiffres à droite du point décimal est définie dans le paramètre d.
DOUBLE(DECIMAL(,size) DOUBLE(
Grand nombre avec point décimal flottant. Défini le nombre maximum de chiffres dans les parenthèses. Défini le nombre maximum de décimales à droite du point dans le paramètre d.DECIMAL(,size) d

Type DOUBLE stocké en tant que chaîne, permettant un point décimal fixe.

Type Date :

Type de données Description
* Ces types de nombres entiers ont des options supplémentaires UNSIGNED. Les entiers peuvent généralement être négatifs ou positifs. Si l'attribut UNSIGNED est ajouté, la plage de valeurs commence à 0 plutôt qu'à un nombre négatif.

DATE()

Date. Format : YYYY-MM-DD

Remarque : La plage de support est de '1000-01-01' à '9999-12-31'.

DATETIME()

* Combinaison de date et d'heure. Format : YYYY-MM-DD HH:MM:SS

Remarque : La plage de support est de '1000-01-01 00:00:00' à '9999-12-31 23:59:59'.

TIMESTAMP()

* Heure. La valeur TIMESTAMP utilise une description de l'époque Unix ('1970-01-01 00:00:00' UTC) jusqu'à aujourd'hui. Format : YYYY-MM-DD HH:MM:SS

TIME()

Heure. Format : HH:MM:SS

Remarque : La plage de support est de '-838:59:59' à '838:59:59'.

YEAR()

Année au format 2 ou 4 chiffres.

Remarque : Les valeurs autorisées pour le format de 4 chiffres sont de 1901 à 2155. Les valeurs autorisées pour le format de 2 chiffres sont de 70 à 69, ce qui représente de 1970 à 2069.

* Bien que DATETIME et TIMESTAMP retournent le même format, leur fonctionnement est très différent. Dans les requêtes INSERT ou UPDATE, TIMESTAMP ajuste automatiquement sa valeur à la date et à l'heure actuelles. TIMESTAMP accepte également différents formats, tels que YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD ou YYMMDD.

Type de données SQL Server

Chaîne de caractères :

Type de données Description Stocker
char(n) Chaîne de caractères de longueur fixe. Jusqu'à 8 000 caractères. n
varchar(n) Chaîne de caractères de longueur variable. Jusqu'à 8 000 caractères.  
varchar(max) Chaîne de caractères de longueur variable. Jusqu'à 1 073 741 824 caractères.  
text Chaîne de caractères de longueur variable. Jusqu'à 2 Go de données de caractères.  

Chaîne Unicode :

Type de données Description Stocker
nchar(n) Données Unicode de longueur fixe. Jusqu'à 4,000 caractères.  
nvarchar(n) Données Unicode de longueur variable. Jusqu'à 4,000 caractères.  
nvarchar(max) Données Unicode de longueur variable. Jusqu'à 536,870,912 de caractères.  
ntext Données Unicode de longueur variable. Jusqu'à 2GB de données de caractères.  

Type Binary :

Type de données Description Stocker
bit Permet 0, 1 ou NULL  
binary(n) Données binaires de longueur fixe. Jusqu'à 8,000 octets.  
varbinary(n) Données binaires de longueur variable. Jusqu'à 8,000 octets.  
varbinary(max) Données binaires de longueur variable. Jusqu'à 2GB d'octets.  
image Données binaires de longueur variable. Jusqu'à 2GB.  

Type Number :

Type de données Description Stocker
tinyint Permet tous les nombres compris entre 0 et 255. 1 octet
smallint Permet tous les nombres compris entre -32,768 et 32,767. 2 octets
int Permet tous les nombres compris entre -2,147,483,648 et 2,147,483,647. 4 octets
bigint Permet tous les nombres compris entre -9,223,372,036,854,775,808 et 9,223,372,036,854,775,807. 8 octets
decimal(p,s)

Nombre à précision fixe et à proportionnel. Permet des nombres allant de -10^38 +1 à 10^38 -1.

Le paramètre p indique le nombre maximum de chiffres que l'on peut stocker (à gauche et à droite du point décimal). p doit être une valeur comprise entre 1 et 38. La valeur par défaut est 18.

Le paramètre s indique le nombre maximum de décimales stockées à droite du point décimal. s doit être une valeur comprise entre 0 et p. La valeur par défaut est 0.

5-17 octets
numeric(p,s)

Nombre à précision fixe et à proportionnel. Permet des nombres allant de -10^38 +1 à 10^38 -1.

Le paramètre p indique le nombre maximum de chiffres que l'on peut stocker (à gauche et à droite du point décimal). p doit être une valeur comprise entre 1 et 38. La valeur par défaut est 18.

Le paramètre s indique le nombre maximum de décimales stockées à droite du point décimal. s doit être une valeur comprise entre 0 et p. La valeur par défaut est 0.

5-17 octets
smallmoney Données monétaires comprises entre -214,748.3648 et 214,748.3647. 4 octets
money Données monétaires comprises entre -922,337,203,685,477.5808 et 922,337,203,685,477.5807. 8 octets
float(n)

Données numériques flottantes avec une précision allant de -1,79E + 308 à 1,79E + 308.

Le paramètre n indique si ce champ conserve 4 octets ou 8 octets. float(24) conserve 4 octets, tandis que float(53) conserve 8 octets. La valeur par défaut de n est 53.

4 ou 8 octets
real Nombre en virgule flottante avec une précision flottante de -3.40E + 38 à 3.40E + 38. 4 octets

Type Date :

Type de données Description Stocker
datetime Du 1er janvier 1753 au 31 décembre 9999, avec une précision de 3.33 millisecondes. 8 bytes
datetime2 Du 1er janvier 1753 au 31 décembre 9999, avec une précision de 100 nanoseconds. 6-8 bytes
smalldatetime Du 1er janvier 1900 au 6 juin 2079, avec une précision de 1 minute. 4 bytes
date Stocke uniquement la date. Du 1er janvier 0001 au 31 décembre 9999. 3 bytes
time Stocke uniquement l'heure. Précision de 100 nanoseconds. 3-5 bytes
datetimeoffset Comme datetime2, avec un décalage d'heure. 8-10 bytes
timestamp Stocker un nombre unique, qui est mis à jour à chaque création ou modification d'une ligne. Le timestamp est basé sur l'horloge interne et ne correspond pas à l'heure réelle. Chaque table ne peut avoir qu'une seule variable timestamp.  

Autres types de données :

Type de données Description
sql_variant Stocker des données de différents types de 8 000 octets maximum, à l'exclusion de text, ntext et timestamp.
uniqueidentifier Stocker des identifiants uniques (GUID).
xml Stocker des données formatées en XML. Jusqu'à 2GB.
cursor Stocker les références des pointeurs utilisés pour les opérations de base de données.
table Stocker les résultats pour un traitement ultérieur.