SQL_VARIANT_PROPERTY (Transact-SQL)
TOC
Réduire la table des matières
Développer la table des matières

SQL_VARIANT_PROPERTY (Transact-SQL)

Renvoie le type de données de base et d'autres informations sur une valeur sql_variant.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL


SQL_VARIANT_PROPERTY ( expression , property )

expression

Expression de type sql_variant.

property

Nom de la propriété sql_variant dont les informations doivent être fournies. property est de type varchar(128), et peut prendre l'une des valeurs suivantes.

Valeur

Description

Type de base sql_variant renvoyé

BaseType

Type de données SQL Server, tel que :

bigint

binary

char

date

datetime

datetime2

datetimeoffset

decimal

float

int

money

nchar

numeric

nvarchar

real

smalldatetime

smallint

smallmoney

time

tinyint

uniqueidentifier

varbinary

varchar

sysname

NULL = Entrée non valide.

Precision

Nombre de chiffres du type de données numériques de base :

datetime = 23

smalldatetime = 16

float = 53

real = 24

decimal (p,s) et numeric (p,s) = p

money = 19

smallmoney = 10

bigint = 19

int = 10

smallint = 5

tinyint = 3

bit = 1

Tous les autres types = 0

int

NULL = Entrée non valide.

Échelle

Nombre de chiffres décimaux après la virgule (point) dans le type de données numériques de base :

decimal (p,s) et numeric (p,s) = s

money et smallmoney = 4

datetime = 3

Tous les autres types = 0

int

NULL = Entrée non valide.

TotalBytes

Nombre d'octets requis pour conserver les métadonnées et les données de la valeur. Ces informations permettent de vérifier la taille maximale des données dans une colonne sql_variant. Si cette valeur est supérieure à 900, la création de l'index échoue.

int

NULL = Entrée non valide.

Collation

Classement de la valeur sql_variant particulière.

sysname

NULL = Entrée non valide.

MaxLength

Longueur maximale du type de données (en octets). Par exemple, MaxLength de nvarchar(50) est égal à 100, MaxLength de int est égal à 4.

int

NULL = Entrée non valide.

L'exemple suivant extrait des informations SQL_VARIANT_PROPERTY relatives à la valeur colA46279.1colB =1689, étant donné que tableA a la valeur colA de type sql_variant et colB.

CREATE   TABLE tableA(colA sql_variant, colB int)
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT   SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
         SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
         SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM      tableA
WHERE      colB = 1689

Voici l'ensemble des résultats. Notez que chacune de ces trois valeurs est de type sql_variant.

Base Type    Precision    Scale
---------    ---------    -----
decimal      8           2

(1 row(s) affected)

Ajouts de la communauté

AJOUTER
Afficher:
© 2016 Microsoft