sp_datatype_info (Transact-SQL)
Retourne des informations sur les types de données pris en charge par l'environnement actuel.
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