Aracılığıyla paylaş


SQL_VARIANT_PROPERTY (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

Temel veri türünü ve sql_variant değeri hakkındaki diğer bilgileri döndürür.

Transact-SQL söz dizimi kuralları

Syntax

SQL_VARIANT_PROPERTY ( expression , property )  

Note

Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.

Arguments

expression
sql_variant türünde bir ifadedir.

property
Bilgilerin sağlandığı sql_variant özelliğinin adını içerir. özelliğivarchar(128) şeklindedir ve aşağıdaki değerlerden herhangi biri olabilir:

Value Description Döndürülen sql_variant temel türü
BaseType SQL Server veri türü, örneğin:

bigint

binary

bit

char

date

datetime

datetime2

datetimeoffset

decimal

float

int

money

nchar

numeric

nvarchar

real

smalldatetime

smallint

smallmoney

time

tinyint

uniqueidentifier

varbinary

varchar
sysname

NULL = Giriş geçerli değil.
Precision Sayısal temel veri türünün basamak sayısı:

tarih = 10

tarih saati = 23

datetime2 = 27

datetime2 (s) = 19 s = 0, aksi takdirde s + 20

datetimeoffset = 34

datetimeoffset (s) = 26 s = 0, aksi takdirde s + 27

smalldatetime = 16

zaman = 16

zaman (s) = 8 olduğunda s = 0, aksi takdirde s + 9

float = 53

gerçek = 24

ondalık ve sayısal = 18

ondalık (p,s) ve sayısal (p,s) = p

para = 19

smallmoney = 10

bigint = 19

int = 10

küçük int = 5

tinyint = 3

bit = 1

Diğer tüm türler = 0
int

NULL = Giriş geçerli değil.
Scale Sayısal temel veri türünün ondalık noktasının sağındaki basamak sayısı:

ondalık ve sayısal = 0

ondalık (p,s) ve sayısal (p,s) = s

para ve küçük para = 4

tarih saati = 3

datetime2 = 7

datetime2 (s) = s (0 - 7)

datetimeoffset = 7

datetimeoffset (s) = s (0 - 7)

zaman = 7

zaman (s) = s (0 - 7)

diğer tüm türler = 0
int

NULL = Giriş geçerli değil.
TotalBytes Değerin hem meta verilerini hem de verilerini tutmak için gereken bayt sayısı. Bu bilgiler, sql_variant bir sütundaki verilerin en büyük tarafını denetlemede yararlı olabilir. Değer 900'den büyükse dizin oluşturma işlemi başarısız olur. int

NULL = Giriş geçerli değil.
Collation Belirli bir sql_variant değerinin harmanlamasını temsil eder. sysname

NULL = Giriş geçerli değil.
MaxLength Bayt cinsinden en fazla veri türü uzunluğu. Örneğin, nvarchar(50)değerinin MaxLength değeri 100, Int'in MaxLength değeri 4'tür. int

NULL = Giriş geçerli değil.

Dönüş Türleri

sql_variant

Examples

A. Tabloda sql_variant kullanma

Aşağıdaki örnek, ve türünde SQL_VARIANT_PROPERTY olduğu düşünüldüğünde colA46279.1 değeri hakkında colB =1689tableAcolA bilgi alır.sql_variantcolB

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 aşağıdadır. Bu üç değerin her birinin bir sql_variantolduğunu unutmayın.

Base Type    Precision    Scale  
---------    ---------    -----  
decimal      8           2  
  
(1 row(s) affected)  

B. Değişken olarak sql_variant kullanma

Aşağıdaki örnek adlı SQL_VARIANT_PROPERTYbir değişken hakkında bilgi alır@v1.

DECLARE @v1 sql_variant;  
SET @v1 = 'ABC';  
SELECT @v1;  
SELECT SQL_VARIANT_PROPERTY(@v1, 'BaseType');  
SELECT SQL_VARIANT_PROPERTY(@v1, 'MaxLength');  

Ayrıca Bkz.

sql_variant (Transact-SQL)