SQL Server 7.0 définit :
Les Numériques Exactes
Les types d’entiers
INTEGER 4 octets
SMALLINT 2 octets
TYNYINT 1 octet 0 Ã 255.
Les numériques exactes
DECIMAL (P, S) numérique de précision P, avec S chiffres derrière la virgule
DEC (P,S) et NUMERIQUE(P,S)
Les Numériques Approximatifs
FLOAT(n) Flottants
REAL Synonyme de FLOAT 4 octets
Les Monétaires
MONEY et SMALLMONEY
date et temps
DATETIME Date et heure 8 octets
SMALLDATETIME
Les caractères
char(n) – ANSI – 8000 caractères.
varchar(n) – ANSI – 8000 caractères.
nchar(n) – Unicode – 4000 caractères.
nvarchar(n) – Unicode – 4000 caractères.
text – ANSI – 1,073,741,824 caractères.
ntext – Unicode – 536,870,912 caractères.
Les Binaires :
Binary[n] 1 Ã 8000 octets et VarBinary[n]
Image : 0 Ã 2 Giga
spéciaux :
bit, cursor, sysname,timestamp
SQL Serveur 2005 définit 7 catégories de types:
- Numérique exact
big int, int, smallint, tinyint,
decimal(p,s), numeric(p,s)
Les types Numérique Exact permettent de spécifier la précision souhaitée pour un attribut numérique, et donc de représenter une valeur exacte. BigInt est nouveau depuis 2000
- Numérique approximatif
float, real.
Les numériques flottants correspondent aux types couramment utilisés en programmation (FLOAT, DOUBLE) et ne représentent une valeur qu?avec une précision limitée.
Par exemple, si vous stocker 1,00015454 dans un float(8), seul les 8 digits sont garantis : 1,000154. Le reste est arrondi.
On utilise ces valeurs arrondis plutôt dans des applicatifs scientifiques que financier.
- Monnaie
money,smallmoney
4 digit de précision : exemple : smallmoney 214,748.3647
- Date et Time
datetime, smalldatetime
- Caractères
char(n),nchar(n),varchar(n),varchar(max),nvarchar(n),nvarchar(max),text,ntext
char(n) – ANSI – 8000 caractères.
varchar(n) – ANSI – 8000 caractères.
varchar(max) – ANSI – 1,0773,741,824 caractères.
text – ANSI – 1,073,741,824 caractères.
nchar(n) – Unicode – 4000 caractères.
nvarchar(n) – Unicode – 4000 caractères.
nvarchar(max) – Unicode – 536,870,912 caractères.
ntext – Unicode – 536,870,912 caractères.
la différence entre char et varchar provient du stockage de la totalité des caractères pour le char contre le stockage des seuls caractères utilise pour le varchar.
- binary
binary(n),varbinary(n),varbinary(max),image
Le type Binary stocke des flux binaires, des images, des fichiers.
- caractères spéciaux ( xml, guid )
bit,timestamp,uniqueidentifier,sql_variant,cursor,table,xml
Bit : stocke 0,1 ou Null.
Timestamp : Une table ne peut posséder qu’une seule colonne Timestamp qui est mis à jour sur la date/heure de la base à chaque insertion ou mise à jour.
UniqueIdentifier: Un identifiant 16 bits qui identifie la ligne dans la base de données, l’instance ou le serveur.
SQL_variant : Nouveau depuis 2000,le type indéfini de cette colonne de 8000 caractères permet de stocker n’importe quoi.
Cursor: Utilisé par les applications qui déclarent des cursors. Ne peut être utilisé dans une table.
Table : Nouveau type depuis 2000, Utilisé dans une variable de procédure stockée, trigger ou function.
XML : Nouveau depuis 2005, il stocke un document xml de 2 gigaoctets.