Types de données SQL Server avec exemples
Qu’est-ce que le type de données ?
A Type de données dans SQL Server, il est défini comme le type de données que n'importe quelle colonne ou variable peut stocker. Il s'agit d'un type de données qu'un objet contient comme un entier, un caractère, une chaîne, etc. Lors de la création d'une table ou d'une variable, en plus de spécifier le nom, vous définissez également le type de données qu'elle stockera.
Comment utiliser le type de données MS SQL
- Vous devez définir à l'avance le type de données qu'une colonne ou une variable peut stocker. La détermination du type de données empêche également l'utilisateur de saisir des données inattendues ou invalides.
- Vous pouvez utiliser efficacement la mémoire en attribuant un type de données approprié à une variable ou une colonne qui allouera uniquement la quantité requise de mémoire système pour les données de la colonne respective.
- MS SQL propose une large catégorie de types de données de base en SQL selon les besoins de l'utilisateur, comme la date, les images binaires, etc.
Pourquoi utiliser les DataTypes ?
Prenons un échantillon simple Page d'inscription de l'application du site Web. Trois champs de saisie sont le prénom, le nom et le numéro de contact.
Ici, il faut noter qu'en temps réel :
- "Premier nom de famille" sera toujours alphabétique.
- "Contact" sera toujours numérique.

- D'après l'image ci-dessus, cela vaut la peine de le définir "Premier nom de famille" en tant que caractère et "Contact" en tant que entier.
Il est évident que dans toute application, tous les champs contiennent l’un ou l’autre type de données. Par exemple, numérique, alphabétique, date et bien d'autres.
Notez également que différents types de données ont des besoins en mémoire différents. Il est donc plus logique de définir la colonne ou variable avec le type de données qu’il conservera pour une utilisation efficace de la mémoire.
Type de données disponible dans MS SQL Server
Voici la liste des types de données du serveur MS SQL :
Serveur MS SQL prend en charge les catégories suivantes de type de données :
- 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

Types de données numériques exactes dans SQL
Le chiffre exact comporte neuf types de sous-types de données dans SQL Server.
Types de données numériques exacts
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 (−9,223,372, 036,854,775,807) | Octets 8 |
int | Il stocke les nombres entiers dans la plage donnée | −2^31 (−2,147 483,648 , ) | 2^31−1 (−2,147, 483,647) | Octets 4 |
petit entier | Il stocke les nombres entiers dans la plage donnée | −2^15 (−32,767 ) | 2^15 (−32,768 ) | 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 | Colonne 1 octet/8 bits |
décimal | Utilisé pour les nombres à échelle et à précision fixe | −10^38+1 | 10^381−1 | 5 à 17 octets |
numérique | Utilisé pour les nombres à échelle et à précision fixe | −10^38+1 | 10^381−1 | 5 à 17 octets |
de l'argent | Données monétaires utilisées | −922,337 203, 685,477.5808, | +922,337 203 685,477.5807 | Octets 8 |
petit argent | Données monétaires utilisées | -214,478.3648 | +214,478.3647 | Octets 4 |
Types de données numériques exactes dans Serveur SQL avec des exemples :
requête:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Sortie
2
Syntaxe
Décimal (P,S)
Ici,
- P est la précision
- S est 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
SQL La catégorie numérique approximative comprend des valeurs à virgule flottante et réelles. Ces types de données en SQL sont principalement utilisés dans les calculs scientifiques.
Type de données numériques approximatif
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 | 7 Digit |
réal | Utilisé pour un nombre de précision flottant | −3.40E+38 | 3.40E + 38 | Octets 4 | 15 Digit |
Syntax: FLOAT [(n)]
Ici, n est le nombre de bits utilisés pour stocker la mantisse du flotter nombre en notation scientifique. Par défaut, la valeur de n est 53.
Lorsque l'utilisateur définit un type de données comme float, n doit être une valeur comprise entre 1 et 53.
Traitements SQL Server 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
Il stocke des données de type Date et heure.
Type de données date et heure
Type de données | Description | Taille de stockage | Précision | 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 du 1er janvier 0001 au 31 décembre 9999. Il a une précision de 100 nanosecondes | 4 octets, fixe | 1 minute | 1900-01-01 | 2079-06-06 |
données | Utilisé pour stocker uniquement la date du 1er janvier 0001 au 31 décembre 9999 | 3 octets, fixe | 1 jour | 0001-01-01 | 9999-12-31 |
Paisible | Utilisé pour stocker uniquement 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 à datatime mais avec un décalage de fuseau 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 est liée à un type de caractère. Il permet à l'utilisateur de définir le type de données de caractère qui peut être de longueur fixe et variable. Il existe quatre types de types de données. Vous trouverez ci-dessous les types de données du serveur SQL de chaîne de caractères avec des exemples.
Types de données de chaînes de caractères
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 à 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 largeur variable. Il stocke un maximum de 2 Go de données texte. | 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 la gamme complète de caractères Unicode qui utilisent le codage de caractères UTF-16.
Types de données de chaîne de caractères Unicode
Type de données | Description | Limite inférieure | Limite supérieure | Mémoire |
---|---|---|---|---|
nchar | C'est une chaîne Unicode de largeur fixe | 0 caractères | 4000 caractères | 2 fois n octets |
Nvarchar | C'est une chaîne Unicode de largeur variable | 0 caractères | 4000 caractères | 2 fois n octets + 2 octets |
ntext | C'est 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 une chaîne binaire de longueur fixe et variable.
Types de données de chaîne binaire
Type de données | Description | Limite inférieure | Limite supérieure | Mémoire |
---|---|---|---|---|
binaire | Il s'agit d'une chaîne binaire de largeur fixe. Il stocke un maximum de 8,000 octets. | Octets 0 | Octets 8000 | n octets |
varbinary | Il s'agit d'une chaîne binaire de largeur variable. Il stocke un maximum de 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 largeur variable. Il stocke un maximum de 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
Il s'agit d'autres types de données de serveur SQL différents avec la description ci-dessous :
Type de données | Description |
---|---|
Curseur | Sa sortie est une colonne de sp_cursor_list et sp_describe_cursor. Il renvoie le nom de la variable curseur. |
Version en ligne | Cette version tamponne les lignes du tableau. |
Hiérarchie | Ce type de données représente une position dans la hiérarchie |
Identifiant unique | Conversion à partir d'une expression de caractère. |
Variante SQL | Il stocke les valeurs des types de données pris en charge par le serveur SQL. |
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!
- Type de données CHAR est plus rapide que le type de données SQL VARCHAR lors de la récupération des données.
Résumé
- Chaque colonne des tableaux est définie avec son type de données lors de la création de la table.
- Il existe six catégories principales et une autre catégorie diverse. Les autres divers comportent neuf sous-catégories de Serveur SQL types et tailles de données disponibles.