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.

Toutes les données stockées dans Microsoft SQL Server 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 managé 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

Référence

Concepts

Autres ressources