sp_datatype_info (Transact-SQL)
Retourne des informations sur les types de données pris en charge par l'environnement actuel.
Conventions de la syntaxe de 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 du type tinyint, avec 2 comme valeur par défaut.
Jeux de résultats
Nom de colonne | Type de données | Description |
---|---|---|
TYPE_NAME |
sysname |
Type de données dépendant du SGDB |
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 retournée pour la colonne PRECISION est en base 10. |
LITERAL_PREFIX |
varchar(32) |
Caractère(s) utilisé(s) devant une constante. Par exemple, un guillemet simple (') pour les types caractère et 0x pour les types binaires dans SQL Server 2005. |
LITERAL_SUFFIX |
varchar(32) |
Caractère(s) utilisé(s) pour terminer une constante. Par exemple, un guillemet simple (') pour les types caractère 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 |
Précise la possibilité de valeur nulle. 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 |
Type de colonne. 1 = Les colonnes de ce type peuvent être utilisées dans une clause WHERE. 0 = Les colonnes de ce type ne peuvent pas être utilisées dans une clause WHERE. |
UNSIGNED_ATTRIBUTE |
smallint |
Spécifie la signature du type de données. 1 = Types de données non signées 0 = Type de données signées |
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 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 au contraire 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 |
datetime ou sous-code 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 prend la valeur 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 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. Dans les autres cas, cette colonne a la valeur NULL. En combinant la précision et la base, l'application peut calculer le nombre maximal que peut contenir la colonne. |
INTERVAL_PRECISION |
smallint |
Valeur de la précision interval 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
Appartenance obligatoire au rôle public.
Valeurs des codes retournés
Aucune
Exemple
Cet exemple extrait les 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
Voir aussi
Référence
Procédures stockées du moteur de base de données (Transact-SQL)
Types de données (Transact-SQL)
Procédures stockées système (Transact-SQL)