| Nom |
MSSQL 2005 |
Taille (octets) |
équiv. ANSI |
Plage de valeurs |
Description |
| Nombres entiers |
| bit |
|
1 |
|
0 ou 1 |
booléen - si plusieurs champs bit existent, SQL Server stocke jusqu'à 8 bits par octets |
| tinyint |
|
1 |
|
0 à 255 |
entier non signé 8 bits |
| smallint |
|
2 |
|
-32 768 à 32 767 |
entier signé 16 bits |
| int |
|
4 |
integer |
-2 147 483 648 à 2 147 483 647 |
entier signé 32 bits |
| bigint |
|
8 |
|
-9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 |
entier signé 64 bits |
| Nombres décimaux |
numeric(p, s) decimal(p, s) |
|
5 (p de 1 à 9) |
dec |
pour p = 38 et s = 0 -10E38 +1 à 10E38 - 1 sinon dépend de la valeur de s et p |
Nombre à virgule de précision exacte s représente le nombre de chiffre après la virgule, p le nombre de chiffre total p vaut 38 maximum - s est compris entre 0 et p numeric et decimal sont identiques |
| 9 (p de 10 à 19) |
| 13 (p de 20 à 28) |
| 17 (p de 29 à 38) |
| smallmoney |
|
4 |
|
-214 748,3648 à 214 748,3647 |
Nombre à virgule de précision exacte (précision 1/10000ème) - c'est un int divisé par 10000 |
| money |
|
8 |
|
922 337 203 685 477,5808 à 922 337 203 685 477,5807 |
Nombre à virgule de précision exacte (précision 1/10000ème) - c'est un bigint divisé par 10000 |
| float(n) |
|
4 (n de 1 à 24) |
float / Double precision |
-1,79E+308 à -2,23E-308 / 2.23E-308 à 1,79E+308 / 0 |
Nombre à virgule flottante approché |
| 8 (n de 25 à 53) |
| real |
|
4 |
float |
-3,40E+38 à -1,18E-38 / 1,18E-38 à 3,40E+38 / 0 |
Nombre à virgule flottante approché |
| Date et Heure |
| smalldatetime |
|
4 |
timestamp |
1/1/1900 à 6/6/2079 |
Date et Heure (précision 1min) |
| datetime |
|
8 |
timestamp |
1/1/1753 à 31/12/9999 |
Date et Heure (précision 3,33ms) |
| Chaînes de caractères |
| char(n) |
|
n |
character(n) |
n caractères - page de code définie par COLLATE (valeur maximale pour n : 8000) |
Chaîne de caractère de longueur fixe |
| varchar(n) |
|
2 + (0 à n) |
char varying(n) |
Chaîne de caractère de longueur variable |
| varchar(max) |
nouveau |
2 à 2Go |
char varying |
chaîne de caractères - page de code définie par COLLATE |
Chaîne de caractère de longueur variable, valeur longue |
| text |
|
0 à 2Go |
|
Chaîne de caractère de longueur variable, stockage LOB - Remplacé par varchar(max) |
| nchar(n) |
|
n * 2 |
national character(n) |
n caractères unicodes (valeur maximale pour n : 4000) |
Chaîne de caractère de longueur fixe type unicode |
| nvarchar(n) |
|
2 + (0 à n*2) |
national char varying(n) |
Chaîne de caractère de longueur variable type unicode |
| nvarchar(max) |
nouveau |
2 à 2Go |
national char varying |
chaîne de caractères unicode |
Chaîne de caractère de longueur variable type unicode, valeur longue |
| ntext |
|
0 à 2Go |
national text |
Chaîne de caractère de longueur variable type unicode, stockage LOB - Remplacé par nvarchar(max) |
| Valeurs binaires |
| binary(n) |
|
n |
|
n valeurs binaires (valeur maximale pour n : 8000) |
Binaire de longueur fixe |
| varbinary(n) |
|
2 + (0 à n) |
Binary varying(n) |
Binaire de longueur variable |
| varbinary(max) |
nouveau |
2 à 2Go |
Binary varying |
suite de valeurs binaires |
Binaire de longueur variable, valeur longue |
| image |
|
0 à 2Go |
|
Binaire de longueur variable, stockage LOB - Remplacé par varbinary(max) |
| Divers |
| sql_variant |
|
0 à 8060 |
|
N'importe quel autre type |
Tous les types SQL excepté : text, ntext, image, varchar(max), nvarchar(max), varbinary(max), timestamp et UDT |
| timestamp |
|
8 (NOT NULL) 2 à 10 (NULL) |
rowversion |
Equivalent à un varbinary(8) si NULL ou à un binary(8) si NOT NULL |
Valeur binaire générée automatiquement par le serveur - valeur unique dans une base de données - modifiée automatiquement lors de la mise à jour de l'enregistrement |
| uniqueidentifier |
|
16 |
|
Valeur d'un Global Unique Indentifier (GUID) |
Valeur binaire de type GUID - Génération d'un nouveau GUID avec NEWID() comme valeur par défaut du champ - Valeur aléatoire et unique quel que soit le serveur |
| xml |
nouveau |
0 à 2Go |
|
Chaîne de caractères unicode xml bien formé |
équivalent au nvarchar(max) + validation xml, typage par schéma xsd et recherche xquery possible |
| Types définis par l'utilisateur |
| UDT (alias SQL) |
|
0 à 8060 |
|
par rapport au type de base |
Alias de type SQL, crée par sp_addtype ou CREATE TYPE |
| UDT .net |
nouveau |
0 à 8060 |
|
défini via .net |
Type .net contenu dans une assembly .net, crée par CREATE TYPE |
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :