Partager via


sp_datatype_info (Transact-SQL)

Retourne des informations sur les types de données pris en charge par l'environnement actuel.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

sp_datatype_info [ [ @data_type = ] data_type ] 
     [ , [ @ODBCVer = ] odbc_version ] 

Arguments

  • [ @data_type= ] data_type
    Numéro de code du type de données spécifié. Pour obtenir une liste de tous les types de données, omettez ce paramètre. data_type est int, avec la valeur par défaut 0.

  • [ @ODBCVer= ] odbc_version
    Version d'ODBC utilisée. odbc_version est de type tinyint, avec 2 comme valeur par défaut.

Valeurs des codes de retour

Aucune

Jeux de résultats

Nom de colonne

Type de données

Description

TYPE_NAME

sysname

Type de données dépendant du SGBD (système de gestion de base de données)

DATA_TYPE

smallint

Code pour le type ODBC sur lequel toutes les colonnes de ce type sont mappées.

PRECISION

int

Précision maximale du type de données de la source de données. La valeur NULL est retournée pour les types de données pour lesquels la précision n'est pas applicable. La valeur de retour pour la colonne PRECISION est en base 10.

LITERAL_PREFIX

varchar(32)

Caractères utilisés devant une constante. Par exemple, un guillemet simple (') pour les types caractères et 0x pour les types binaires.

LITERAL_SUFFIX

varchar(32)

Caractères utilisés pour terminer une constante. Par exemple, un guillemet simple (') pour les types caractères et pas de guillemets pour les types binaires.

CREATE_PARAMS

varchar(32)

Description des paramètres de création de ce type de données. Par exemple, decimal correspond à « precision, scale », float correspond à la valeur NULL et varchar correspond à « max_length ».

NULLABLE

smallint

Spécifie l'acceptation ou non des valeurs NULL.

1 = Autorise les valeurs NULL

0 = N'autorise pas les valeurs NULL

CASE_SENSITIVE

smallint

Spécifie le respect de la casse.

1 = Toutes les colonnes de ce type respectent la casse (pour les classements).

0 = Toutes les colonnes de ce type ne respectent pas la casse.

SEARCHABLE

smallint

Spécifie la capacité de recherche du type de colonne :

1 = Recherche impossible.

2 = Recherche possible avec LIKE.

3 = Recherche possible avec WHERE.

4 = Recherche possible avec WHERE ou LIKE.

UNSIGNED_ATTRIBUTE

smallint

Spécifie la signature du type de données.

1 = Type de données non signé.

0 = Type de données signé.

MONEY

smallint

Spécifie le type de données money.

1 = Type de données money.

0 = Type de données différent de money

AUTO_INCREMENT

smallint

Spécifie l'auto-incrémentation.

1 = Auto-incrémentation

0 = Pas d'auto-incrémentation

NULL = Attribut non applicable

Une application peut insérer des valeurs dans une colonne possédant cet attribut, mais elle ne peut pas mettre à jour les valeurs dans la colonne. À l'exception du type de données bit, AUTO_INCREMENT est valide uniquement pour les types de données qui appartiennent aux catégories de types de données Valeurs numériques exactes et Valeurs numériques approximatives.

LOCAL_TYPE_NAME

sysname

Version localisée du nom de type de données dépendant de la source de données. Par exemple, DECIMAL est DECIMALE en français. La valeur NULL est retournée si un nom localisé n'est pas pris en charge par la source de données.

MINIMUM_SCALE

smallint

Échelle minimale du type de données de la source de données. Si un type de données possède une échelle fixe, les colonnes MINIMUM_SCALE et MAXIMUM_SCALE contiennent toutes les deux cette valeur. La valeur NULL est retournée lorsque l'échelle n'est pas applicable.

MAXIMUM_SCALE

smallint

Échelle maximale du type de données de la source de données. Si l'échelle maximale n'est pas définie séparément dans la source de données, mais si au contraire elle est définie comme étant identique à la précision maximale, cette colonne contient la même valeur que la colonne PRECISION.

SQL_DATA_TYPE

smallint

Valeur du type de données SQL telle qu'elle apparaît dans le champ TYPE du descripteur. Cette colonne est la même que la colonne DATA_TYPE, excepté pour les types de données datetime et interval ANSI. Ce champ retourne toujours une valeur.

SQL_DATETIME_SUB

smallint

Sous-code datetime ou interval ANSI, si la valeur de SQL_DATA_TYPE est SQL_DATETIME ou SQL_INTERVAL. Pour les types de données autres que datetime et interval ANSI, ce champ est NULL.

NUM_PREC_RADIX

int

Nombre de bits ou de chiffres pour le calcul du nombre maximal pouvant être contenu dans la colonne. Si le type de données est un type de données numérique approximatif, cette colonne contient la valeur 2 pour indiquer plusieurs bits. Pour les types numériques exacts, cette colonne contient la valeur 10 pour indiquer plusieurs chiffres décimaux. Sinon, cette colonne est NULL. En combinant la précision et la base, l'application peut calculer le nombre maximal que la colonne peut contenir.

INTERVAL_PRECISION

smallint

Valeur de la précision d'en-tête de l'intervalle si data_type est interval ; sinon NULL.

USERTYPE

smallint

Valeur usertype de la table systypes.

Notes

sp_datatype_info est équivalent à SQLGetTypeInfo dans ODBC. Les résultats retournés sont triés par DATA_TYPE, puis en fonction du niveau de précision de la concordance entre le type de données et le type de données ODBC SQL correspondant.

Autorisations

Requiert l'appartenance au rôle public.

Exemples

L'exemple suivant récupère des informations pour les types de données sysname et nvarchar en spécifiant la valeur de data_type-9.

USE master;
GO
EXEC sp_datatype_info -9;
GO