SQL_VARIANT_PROPERTY (Transact-sql)
Hakkında temel veri türünü ve diğer bilgileri döndürür bir sql_variantdeğer.
Transact-SQL Sözdizim Kuralları
Sözdizimi
SQL_VARIANT_PROPERTY ( expression , property )
Bağımsız değişkenler
expression
Deyim türü sql_variant.property
Adını içeren sql_variantözellik bilgisi olan sağlanacak. propertyise varchar(128), ve aşağıdaki değerlerden herhangi biri olabilir.Değer
Açıklama
Döndürülen sql_variant temel tür
BaseType
SQL Serververileri yazın, örneğin:
bigint
binary
char
date
datetime
datetime2
datetimeoffset
decimal
float
int
money
nchar
numeric
nvarchar
real
smalldatetime
smallint
smallmoney
time
tinyint
uniqueidentifier
varbinary
varchar
sysname yapılandırma
null = giriş geçerli değil.
Hassas
Sayısal temel veri türü basamak sayısı:
datetime = 23
smalldatetime = 16
float = 53
real = 24
decimal(p,s) and numeric (p,s) = p
money = 19
smallmoney = 10
bigint = 19
int = 10
smallint = 5
tinyint = 3
bit = 1
Tüm diğer türleri = 0
int
null = giriş geçerli değil.
Ölçek
Sayısal temel veri türü ondalık virgülün sağındaki basamak sayısı:
decimal(p,s) and numeric (p,s) = s
moneyand smallmoney = 4
datetime = 3
tüm diğer türleri = 0
int
null = giriş geçerli değil.
TotalBytes
Meta verileri ve veri değeri saklamak için gereken bayt sayısıdır. Bu bilgiler veri en fazla yan kontrol yararlı olacağını bir sql_variantsütun. Değeri 900 büyükse, dizin oluşturma başarısız olur.
int
null = giriş geçerli değil.
Harmanlama
Özellikle harmanlama temsil sql_variantdeğer.
sysname
null = giriş geçerli değil.
MaxLength
Maksimum veri uzunluğu, bayt cinsinden yazın. Örneğin, MaxLength , nvarchar(50 ) 100, MaxLength , int4.
int
null = giriş geçerli değil.
Dönüş Türleri
sql_variant
Örnekler
Aşağıdaki örnek SQL_VARIANT_PROPERTYhakkında bilgi colAdeğeri 46279.1nereye colB=1689, verilen tableAsahip colAtürü olan sql_variantve 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
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
Sonuç kümesi buradadır.Bu üç değerleri olduğunu unutmayın bir sql_variant.
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)