Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database di Microsoft Fabric
Mengembalikan jenis data dasar dan informasi lain tentang nilai sql_variant .
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');