Types de données (Moteur de base de données)
Les objets qui contiennent des données ont un type de données associé définissant la catégorie de données (caractère, entier, binaire, etc.) acceptée. Les objets suivants possèdent des types de données :
- colonnes dans les tables et les vues ;
- paramètres dans les procédures stockées ;
- variables ;
- fonctions Transact-SQL retournant une ou plusieurs valeurs de données d'un type de données spécifique ;
- procédures stockées ayant un code de retour dont le type de données est toujours integer.
L'affectation d'un type de données à un objet définit quatre attributs de l'objet :
- le type de données contenues par l'objet ;
- la longueur ou la taille de la valeur stockée ;
- la précision du nombre (types de données numériques uniquement) ;
- l'échelle du nombre (types de données numériques uniquement).
Pour plus d'informations sur la précision, l'échelle et la longueur du type de données, consultez Précision, échelle et longueur (Transact-SQL).
Transact-SQL possède ces types de données système.
bigint |
binary |
bit |
char |
cursor |
datetime |
decimal |
float |
image |
int |
money |
nchar |
ntext |
numeric |
nvarchar |
real |
smalldatetime |
smallint |
smallmoney |
sql_variant |
table |
text |
timestamp |
tinyint |
varbinary |
varchar |
uniqueidentifier |
xml |
|
|
Toutes les données stockées dans Microsoft SQL Server 2005 doivent être compatibles avec un de ces types de données de base. Le type de données cursor est le seul à ne pas pouvoir être affecté à une colonne de table. Il peut uniquement être utilisé pour les variables et les paramètres des procédures stockées.
Plusieurs types de base possèdent des synonymes (par exemple rowversion est un synonyme de timestamp et national character varying est un synonyme de nvarchar). Pour plus d'informations sur le comportement des synonymes, consultez Synonymes des types de données (Transact-SQL).
Par ailleurs, deux types de données définis par l'utilisateur peuvent être créés :
Les types de données alias sont créés à partir des types de données de base. Ils fournissent un mécanisme pour l'application d'un nom à un type de données qui est plus descriptif des types de valeurs contenus dans l'objet. Il est ainsi plus facile pour un programmeur ou un administrateur de base de données de comprendre l'utilisation souhaitée d'un objet défini avec le type de données. Par exemple :
-- Create a birthday datetype that allows nulls. CREATE TYPE birthday FROM datetime NULL GO -- Create a table using the new data type. CREATE TABLE employee (emp_id char(5), emp_first_name char(30), emp_last_name char(40), emp_birthday birthday)
Pour plus d'informations, consultez Utilisation de types d'alias.
Les types de données CLR définis par l'utilisateur reposent sur des types de données créés dans du code controlé et téléchargés dans un assembly SQL Server. Pour plus d'informations, consultez Utilisation de types CLR définis par l'utilisateur.
Voir aussi
Concepts
Utilisation des données binaires
Utilisation des données char et varchar
Utilisation des données de date et d'heure
Utilisation des données de type integer (entier)
Utilisation des types de données decimal, float et real
Utilisation des données monétaires
Utilisation de types de données de valeur élevée
Utilisation des données de type text et image
Utilisation des données uniqueidentifier
Utilisation des données spécifiques
Utilisation de données Unicode
Conversion de types de données (moteur de base de données)
Autres ressources
CREATE TABLE (Transact-SQL)
CREATE TYPE (Transact-SQL)
Types de données (Transact-SQL)
Création de tables
sp_addtype (Transact-SQL)