Types de données SQL Server avec exemples
⚡ Résumé intelligent
Les types de données de SQL Server définissent le type de valeur qu'une colonne ou une variable peut stocker, comme entier, décimal, caractère, date ou binaire. Choisir le type approprié garantit la validité des données et une utilisation efficace de la mémoire.

Qu’est-ce que le type de données ?
Un type de données dans MS SQL Server Le type de données est défini comme le type de données qu'une colonne ou une variable peut stocker. Il s'agit du type de données qu'un objet contient, comme un entier, un caractère ou une chaîne de caractères. Lors de la création d'un objet, le type de données est défini comme le type de données qu'une colonne ou une variable peut stocker. table or variableEn plus de spécifier le nom, vous définissez également le type de données qu'il stockera.
Comment utiliser le type de données MS SQL
Il est nécessaire de définir au préalable le type de données qu'une colonne ou une variable peut stocker. Déterminer le type de données empêche également l'utilisateur de saisir des données inattendues ou invalides.
Vous pouvez optimiser l'utilisation de la mémoire en attribuant un type de données approprié à une variable ou à une colonne, ce qui alloue uniquement la quantité de mémoire système nécessaire aux données de cette colonne.
MS SQL offre une large gamme de types de données de base dans SQL pour répondre aux besoins des utilisateurs, notamment en matière de dates, de données binaires, d'images, etc.
Pourquoi utiliser les DataTypes ?
Prenons l'exemple d'une simple page d'inscription pour une application web. Les trois champs à saisir sont : Prénom, Nom et Numéro de téléphone.
Il convient de noter ici que, dans des situations réelles :
- Le « prénom/nom » sera toujours classé par ordre alphabétique.
- « Contact » sera toujours numérique.
L'exemple ci-dessous illustre ces champs sur un formulaire d'inscription.
D'après l'image ci-dessus, il est logique de définir « Prénom/Nom » comme une chaîne de caractères et « Contact » comme un nombre entier.
Il est évident que dans toute application, tous les champs contiennent un type de données ou un autre, par exemple numériques, alphabétiques, de date, et bien d'autres.
Il est important de noter que les besoins en mémoire varient selon le type de données. Par conséquent, pour une utilisation optimale de la mémoire, il est plus judicieux de définir la colonne ou la variable avec le type de données qu'elle contiendra.
Type de données disponible dans MS SQL Server
Voici la liste des types de données de MS SQL Server. MS SQL Server prend en charge les catégories de types de données suivantes :
- Numérique exact
- Chiffre approximatif
- Date et heure
- Chaînes de caractères
- Chaînes de caractères Unicode
- Chaînes binaires
- Autres types de données
Le diagramme ci-dessous regroupe les types de données MS SQL Server dans ces catégories.
Types de données numériques exactes dans SQL
Le type numérique exact comprend neuf sous-types de données dans SQL Server. Chacun stocke des nombres entiers ou à virgule fixe dans une plage définie.
| Type de données | Description | Limite inférieure | Limite supérieure | Mémoire |
|---|---|---|---|---|
| bigint | Il stocke les nombres entiers dans la plage donnée | −2^63 (−9,223,372,036,854,775,808 ) | 2^63−1 (32 767) | Octets 8 |
| int | Il stocke les nombres entiers dans la plage donnée | −2^31 (−2,147,483,648 ) | 2^31−1 (32 767) | Octets 4 |
| petit entier | Il stocke les nombres entiers dans la plage donnée | −2^15 (−32,768 ) | 2^15−1 (32 767) | Octets 2 |
| minuscule | Il stocke les nombres entiers dans la plage donnée | 0 | 255 | Octets 1 |
| Bits | Il peut prendre des valeurs 0, 1 ou NULL. | 0 | 1 | 1 octet / colonne de 8 bits |
| décimal | Utilisé pour les nombres à échelle et à précision fixe | −10^38+1 | 10^38−1 | 5 à 17 octets |
| numérique | Utilisé pour les nombres à échelle et à précision fixe | −10^38+1 | 10^38−1 | 5 à 17 octets |
| de l'argent | Utilisé pour les données monétaires | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 | Octets 8 |
| petit argent | Utilisé pour les données monétaires | -214,478.3648 | +214,478.3647 | Octets 4 |
Types de données numériques exacts dans SQL Server avec exemples :
requête:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Sortie :
2
syntaxe:
Decimal (P,S)
Ici, P représente la précision et S l'échelle.
requête:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Sortie :
2.31
Types de données numériques approximatifs dans SQL
La catégorie des nombres numériques approximatifs en SQL inclut les valeurs à virgule flottante et les valeurs réelles. Ces types de données sont principalement utilisés dans les calculs scientifiques.
| Type de données | Description | Limite inférieure | Limite supérieure | Mémoire | La précision |
|---|---|---|---|---|---|
| flotter(n) | Utilisé pour un nombre de précision flottant | −1.79E+308 | 1.79E + 308 | Dépend de la valeur de n | 15 chiffres |
| réal | Utilisé pour un nombre de précision flottant | −3.40E+38 | 3.40E + 38 | Octets 4 | 7 chiffres |
Le type float utilise la syntaxe suivante :
Syntax: FLOAT [(n)]
Ici, n représente le nombre de bits utilisés pour stocker la mantisse du nombre flottant en notation scientifique. Par défaut, la valeur de n est 53.
Lorsque vous définissez un type de données comme float, n doit être une valeur comprise entre 1 et 53. SQL Server traite n comme l'une des deux valeurs possibles : si 1<=n<=24, n est traité comme 24 ; si 25<=n<=53, n est traité comme 53.
Exemple de requête :
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Sortie :
22.1234
Types de données de date et d'heure dans SQL
Cette catégorie stocke les données de type date et heure.
| Type de données | Description | Taille de stockage | Exactitude | Gamme inférieure | Gamme supérieure |
|---|---|---|---|---|---|
| DateTime | Utilisé pour spécifier une date et une heure du 1er janvier 1753 au 31 décembre 9999. Il a une précision de 3.33 millisecondes. | Octets 8 | Arrondi aux incréments de 000, 003, 007 | 1753-01-01 | 9999-12-31 |
| petit temps | Utilisé pour spécifier une date et une heure entre le 1er janvier 1900 et le 6 juin 2079. Sa précision est d'une minute. | 4 octets, fixe | 1 minute | 1900-01-01 | 2079-06-06 |
| données | Utilisé pour stocker uniquement une date comprise entre le 1er janvier 0001 et le 31 décembre 9999. | 3 octets, fixe | 1 jour | 0001-01-01 | 9999-12-31 |
| Paisible | Utilisé uniquement pour stocker des valeurs temporelles avec une précision de 100 nanosecondes. | Octets 5 | 100 nanosecondes | 00:00:00.0000000 | 23:59:59.9999999 |
| décalage dateheure | Similaire à datetime, mais avec un décalage horaire. | Octets 10 | 100 nanosecondes | 0001-01-01 | 9999-12-31 |
| dateheure2 | Utilisé pour spécifier une date et une heure du 1er janvier 0001 au 31 décembre 9999 | Octets 6 | 100 nanosecondes | 0001-01-01 | 9999-12-31 |
Exemple de requête :
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
Sortie :
'2030-01-01'
Types de données de chaînes de caractères dans SQL
Cette catégorie concerne les types de caractères. Elle permet de définir des données de type caractère de longueur fixe ou variable. Elle comprend quatre types de données. Vous trouverez ci-dessous les types de données de chaînes de caractères, accompagnés d'exemples.
| Type de données | Description | Limite inférieure | Limite supérieure | Mémoire |
|---|---|---|---|---|
| carboniser | C'est une chaîne de caractères de largeur fixe. Il stocke un maximum de 8,000 caractères. | 0 caractères | 8000 caractères | n octets |
| varchar | Il s'agit d'une chaîne de caractères de largeur variable. | 0 caractères | 8000 caractères | n octets + 2 octets |
| varchar (maximum) | Il s'agit d'une chaîne de caractères de largeur variable. Il stocke un maximum de 1,073,741,824 caractères. | 0 caractères | 2 ^ 31 caractères | n octets + 2 octets |
| texte | Il s'agit d'une chaîne de caractères de longueur variable. Elle peut stocker jusqu'à 2 Go de données textuelles. | 0 caractères | 2,147,483,647 caractères | n octets + 4 octets |
Exemple de requête :
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Sortie :
Il s'agit du type de données de caractère
Types de données de chaînes de caractères Unicode dans SQL
Cette catégorie stocke l'ensemble des caractères Unicode, qui utilisent l'encodage de caractères UTF-16.
| Type de données | Description | Limite inférieure | Limite supérieure | Mémoire |
|---|---|---|---|---|
| nchar | Il s'agit d'une chaîne Unicode de largeur fixe. | 0 caractères | 4000 caractères | 2 fois n octets |
| Nvarchar | Il s'agit d'une chaîne Unicode de largeur variable. | 0 caractères | 4000 caractères | 2 fois n octets + 2 octets |
| ntext | Il s'agit d'une chaîne Unicode de largeur variable. | 0 caractères | 1,073,741,823 caractères | 2 fois la longueur de la chaîne |
Exemple de requête :
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Sortie :
Il s'agit du type de données nCharacter
Types de données de chaîne binaire dans SQL
Cette catégorie contient des chaînes binaires de longueur fixe et variable.
| Type de données | Description | Limite inférieure | Limite supérieure | Mémoire |
|---|---|---|---|---|
| binaire | Il s'agit d'une chaîne binaire de longueur fixe. Elle peut stocker un maximum de 8 000 octets. | Octets 0 | Octets 8000 | n octets |
| varbinary | Il s'agit d'une chaîne binaire de longueur variable. Elle peut stocker jusqu'à 8 000 octets. | Octets 0 | Octets 8000 | La longueur réelle des données saisies + 2 octets |
| image | Il s'agit d'une chaîne binaire de longueur variable. Elle peut stocker jusqu'à 2 Go. | Octets 0 | Octets 2,147,483,647 | - |
Exemple de requête :
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Sortie :
0x000C
Autres types de données dans SQL
Voici les autres types de données SQL Server, avec leurs descriptions ci-dessous :
| Type de données | Description |
|---|---|
| Curseur | Sa sortie est une colonne de sp_cursor_list et sp_describe_cursor. Elle renvoie le nom de la variable curseur. |
| Version de la ligne | Il appose un numéro de version sur les lignes du tableau. |
| Hiérarchie | Ce type de données représente une position dans une hiérarchie. |
| Identifiant unique | Stocke un GUID, souvent converti à partir d'une expression de caractères. |
| Variante SQL | Il stocke les valeurs des types de données pris en charge par SQL Server. |
| XML | Il stocke les données XML dans une colonne. |
| Type de géométrie spatiale | Il représente les données dans un système de coordonnées plat. |
| Type de géographie spatiale | Il représente les données dans le système de coordonnées de la Terre ronde. |
| table | Il stocke un ensemble de résultats pour un traitement ultérieur. |
Faits intéressants!
- Le type de données CHAR est plus rapide que le type de données VARCHAR lors de la récupération des données, car sa largeur fixe évite la gestion de la longueur.ping.


