SQL_VARIANT_PROPERTY (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Mengembalikan jenis data dasar dan informasi lain tentang nilai sql_variant .

Konvensi sintaks transact-SQL

Sintaksis

SQL_VARIANT_PROPERTY ( expression , property )  

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

expression
Adalah ekspresi jenis sql_variant.

property
Berisi nama properti sql_variant yang informasinya akan disediakan. properti adalah varchar(128), dan bisa menjadi salah satu nilai berikut:

Nilai Deskripsi Jenis dasar sql_variant dikembalikan
BaseType Jenis data SQL Server, seperti:

bigint

biner

bit

Char

date

datetime

datetime2

datetimeoffset

desimal

float

int

Uang

nchar

numerik

nvarchar

real

smalldatetime

smallint

smallmoney

time

kecil

pengidentifikasi unik

varbinary

varchar
nama sysname

NULL = Input tidak valid.
Presisi Jumlah digit tipe data dasar numerik:

tanggal = 10

datetime = 23

datetime2 = 27

datetime2 (s) = 19 ketika s = 0, atau s + 20

datetimeoffset = 34

datetimeoffset (s) = 26 saat s = 0, atau s + 27

smalldatetime = 16

time = 16

time (s) = 8 bila s = 0, else s + 9

float = 53

real = 24

desimal dan numerik = 18

desimal (p,s) dan numerik (p,s) = p

uang = 19

smallmoney = 10

bigint = 19

int = 10

smallint = 5

tinyint = 3

bit = 1

Semua jenis lainnya = 0
int

NULL = Input tidak valid.
Sisik Jumlah digit di sebelah kanan titik desimal dari jenis data dasar numerik:

desimal dan numerik = 0

desimal (p,s) dan numerik (p,s) = s

uang dan smallmoney = 4

datetime = 3

datetime2 = 7

datetime2 (s) = s (0 - 7)

datetimeoffset = 7

datetimeoffset (s) = s (0 - 7)

time = 7

time (s) = s (0 - 7)

semua jenis lainnya = 0
int

NULL = Input tidak valid.
TotalByte Jumlah byte yang diperlukan untuk menyimpan metadata dan data nilai. Informasi ini akan berguna dalam memeriksa sisi maksimum data dalam kolom sql_variant . Jika nilainya lebih besar dari 900, pembuatan indeks akan gagal. int

NULL = Input tidak valid.
Kolase Mewakili kolaterasi nilai sql_variant tertentu. nama sysname

NULL = Input tidak valid.
MaxLength Panjang jenis data maksimum, dalam byte. Misalnya, MaxLength dari nvarchar(50) adalah 100, MaxLength dari int adalah 4. int

NULL = Input tidak valid.

Jenis Kembalian

aql_variant

Contoh

J. Menggunakan sql_variant dalam tabel

Contoh berikut mengambil SQL_VARIANT_PROPERTY informasi tentang colA nilai 46279.1 di mana =colB1689 , mengingat yang tableA memiliki colA jenis sql_variant dan .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  

Berikut adalah hasil yang ditetapkan. Perhatikan bahwa masing-masing dari ketiga nilai ini adalah sql_variant.

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

B. Menggunakan sql_variant sebagai variabel

Contoh berikut mengambil SQL_VARIANT_PROPERTY informasi tentang variabel bernama @v1.

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

Lihat Juga

sql_variant (T-SQL)