SQL_VARIANT_PROPERTY (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan jenis data dasar dan informasi lain tentang nilai sql_variant .

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

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 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

ekspresi
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 SQL Server jenis data, seperti:

bigint

binary

bit

char

date

datetime

datetime2

datetimeoffset

desimal

Float

int

Uang

nchar

numerik

nvarchar

real

smalldatetime

smallint

smallmoney

waktu

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 ketika s = 0, atau s + 27

smalldatetime = 16

time = 16

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

float = 53

nyata = 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.
Skala 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)

waktu = 7

time (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.
Kolase Mewakili kolatasi nilai sql_variant tertentu. nama sysname

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

NULL = Input tidak valid.

Jenis Pengembalian

aql_variant

Contoh

A. 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 (SQL Bertransaksi)