Créé le 11/03/2016 par Laurent Bourcier
Les types de données SQL Server
Les types pour les colonnes sont présentés ici.
Numériques exacts :
- bigint : entier signé sur 8 octets
- int : entier signé sur 4 octets
- smallint : : entier signé sur 2 octets
- tinyint : entier positif sur 1 octet (0 à 255)
- bit : 0, 1 ou null. Le moteur optimise le stockage : s'il y a 8 colonnes bit, il les stocke ensemble sur 1 octet.
- decimal [(p,s)] : présision = nombre de décimaux au total (défaut 18, maximum 38), scale = nombre de décimaux après la virgule. Sans précision, on obtient decimal = decimal(18)
- numeric [(p,s)] : synonyme de decimal
- money : équivalent à environ decimal(18,4) (8 octets)
- samllmoney : équivalent à environ décimal(9,4) (4 octets)
Numériques approximatifs
- float [(n)] : n = nombre de bits pour la mantisse. Par défaut, n = 53, soit 8 octets
- real = float(24) (4 octets)
Date et Heure
- date : date allant de 01-01-0001 à 31-12-9999 (3 octets)
- time [(n)] : n = précision après les secondes (défaut : 7). Heure allant de 00:00:00.0000000 à 23:59:59.9999999 (5 octets)
- datetime : du 01-01-1753 00:00:00.000 au 31-12-9999 23:59:59.999 (8 octets)
- smalldatetime du 01-01-1900 00:00:00 au 06-06-2079 23:59:59 (4 octets)
- datetime2 [(n)] : n = précision après les secondes (défaut : 7) du 01-01-0001 00:00:00.0000000 à 31-12-9999 23:59:59.9999999
- datetimeoffset [n] : datetime2 avec prise en charge du fuseau horaire : yyyy-mm-dd hh:mi:ss.nnnnnnn [+-hh:mm]. Exemple : '2016-01-25 12:32:10 +01:00'
Chaines de caractères
- char [(n)] : n entre 1 et 8000. Chaine non unicode.
- varchar [(n|max)] : n entre 1 et 8000. Chaine unicode. varchar(max) permet de stocker des chaines jusqu'à (2^31 -1) octets
- text : Données non unicodes ne pouvant pas dépasser (2^31 -1) octets. Sera supprimé dans une version future.
- nchar [(n)] : n entre 1 et 4000. Chaine unicode.
- nvarchar [(n|max)] : n entre 1 et 4000. Chaine unicode. varchar(max) permet de stocker des chaines jusqu'à (2^31 -1) octets
- text : Données unicodes ne pouvant pas dépasser (2^30 -1) octets. Sera supprimé dans une version future.
Données binaires
- binary [(n)] : données binaires de longueur fixe. n entre 1 et 8000
- varbinary [(n|max)] : données binaires de longueur varaible. n entre 1 et 8000. varbinary(max) permet de stocker (2^31 - 1) octets
- image : données binaires jusqu'à (2^31 - 1) octets. Sera supprimé dans une version future.
Types spaciaux
- geography
- geometry
Autres types de données
- sql_variant : permet de stocker n'importe quel type. Mais la longueur maximal de la donnée est 8000 octets. 16 octets supplémentaires sont utilisés pour stocker le type.
- rowversion : Compteur incrémental qui est mis à jour à chaque update d'une ligne.
- timestamp : synonyme de rowversion. Sera supprimé dans une version future.
- uniqueidentifier : GUID sur 16 octets
- xml ( [ CONTENT | DOCUMENT ] xml_schema_collection ) : données xml