Types de données (Transact-SQL)

Dans SQL Server, à chaque colonne, variable locale, expression et paramètre correspond un type de données. Un type de données est un attribut qui spécifie le type de données que l'objet peut contenir : données de type Integer, données caractères, données monétaires, données de date et d'heure, chaînes binaires, et ainsi de suite.

SQL Server fournit un ensemble de types de données système qui définissent tous les types de données utilisables avec SQL Server. Vous pouvez également définir vos propres types de données dans Transact-SQL ou Microsoft .NET Framework. Les types de données d'alias sont basés sur les types de données fournis par le système. Pour plus d'informations sur les types de données d'alias, consultez CREATE TYPE (Transact-SQL). Les types définis par l'utilisateur tirent leurs caractéristiques des méthodes et des opérateurs d'une classe que vous créez à l'aide de l'un des langages de programmation pris en charge par .NET Framework.

Lorsqu'un opérateur combine deux expressions qui diffèrent par les types de données, les classements, la précision, l'échelle ou la longueur, les caractéristiques du résultat sont déterminées comme suit :

  • Le type de données du résultat est déterminé par l'application des règles de priorité des types de données aux types de données des expressions entrées. Pour plus d'informations, consultez Priorités des types de données (Transact-SQL).

  • Le classement du résultat est déterminé par les règles de priorité des classements lorsque le type de données du résultat est char, varchar, text, nchar, nvarchar ou ntext. Pour plus d'informations, consultez Priorité de classement (Transact-SQL).

  • Les précision, échelle et longueur du résultat dépendent des précision, échelle et longueur des expressions entrées. Pour plus d'informations, consultez Précision, échelle et longueur (Transact-SQL).

SQL Server propose des synonymes de types de données pour la compatibilité ISO. Pour plus d'informations, consultez Synonymes des types de données (Transact-SQL).

Catégories de types de données

Les catégories des types de données de SQL Server sont les suivantes :

Valeurs numériques exactes

Chaînes de caractères Unicode

Valeurs numériques approximatives

Chaînes binaires

Date et heure

Autres types de données

Chaînes de caractères

 

Dans SQL Server, en fonction de leurs caractéristiques de stockage, certains types de données sont désignés comme appartenant aux groupes suivants :

  • Types de données de valeur élevée : varchar(max), nvarchar(max) et varbinary(max)

  • Types de données d'objet volumineux :text, ntext, image, varchar(max), nvarchar(max), varbinary(max) et xml

    [!REMARQUE]

    sp_help retourne -1 comme longueur des types de données de valeurs élevées et xml.

Valeurs numériques exactes

bigint

numeric

bit

smallint

decimal

smallmoney

int

tinyint

money

 

Valeurs numériques approximatives

float

real

Date et heure

date

datetimeoffset

datetime2

smalldatetime

datetime

time

Chaînes de caractères

char

varchar

text

 

Chaînes de caractères Unicode

nchar

nvarchar

ntext

 

Chaînes binaires

binary

varbinary

image

 

Autres types de données

cursor

timestamp

hierarchyid

uniqueidentifier

sql_variant

xml

table

Types spatiaux

Voir aussi

Référence

CREATE PROCEDURE (Transact-SQL)

CREATE TABLE (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

EXECUTE (Transact-SQL)

Expressions (Transact-SQL)

Fonctions intégrées (Transact-SQL)

LIKE (Transact-SQL)

sp_droptype (Transact-SQL)

sp_help (Transact-SQL)

sp_rename (Transact-SQL)