Bagikan melalui


SQL_VARIANT_PROPERTY (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Database SQL di Microsoft Fabric

Mengembalikan jenis data dasar dan informasi lain tentang nilai sql_variant .

Konvensi sintaks transact-SQL

Syntax

SQL_VARIANT_PROPERTY ( expression , property )  

Note

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

Arguments

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:

Value Description Jenis dasar sql_variant dikembalikan
BaseType Jenis data SQL Server, seperti:

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 = Input tidak valid.
Precision Jumlah digit tipe data dasar numerik:

tanggal = 10

tanggalwaktu = 23

tanggalwaktu2 = 27

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

tanggalwaktuoffset = 34

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

smalldatetime = 16

waktu = 16

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

mengambang = 53

nyata = 24

desimal dan numerik = 18

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

uang = 19

uang kecil = 10

bigint = 19

int = 10

smallint = 5

tinyint = 3

bit = 1

Semua jenis lainnya = 0
int

NULL = Input tidak valid.
Scale 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

tanggalwaktu = 3

tanggalwaktu2 = 7

tanggalwaktu2 (dtk) = dtk (0 - 7)

tanggalwaktuoffset = 7

datetimeoffset (s) = s (0 - 7)

waktu = 7

waktu (s) = s (0 - 7)

semua jenis lainnya = 0
int

NULL = Input tidak valid.
TotalBytes 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.
Collation Mewakili kolaterasi nilai sql_variant tertentu. 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

sql_variant

Examples

A. Menggunakan sql_variant dalam tabel

Contoh berikut mengambil SQL_VARIANT_PROPERTY informasi tentang colA nilai 46279.1 di manacolB =1689 , 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 set hasilnya. 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 (Transact-SQL)