Di SQL Server, Anda dapat menggunakan SQL_VARIANT_PROPERTY()
berfungsi untuk mengembalikan informasi tipe data dasar dari sql_variant nilai.
Fungsi menerima dua argumen:sql_variant nilai, dan properti yang informasinya akan diberikan.
Contoh 1 – Penggunaan Dasar
Berikut adalah contoh yang menunjukkan konsep dasar dan penggunaan.
DECLARE @var sql_variant = 'Hey!'; SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;
Hasil:
+------------+ | BaseType | |------------| | varchar | +------------+
Dalam hal ini, tipe dasarnya adalah varchar .
Inilah yang terjadi jika saya mengubah nilai ke jenis yang berbeda:
DECLARE @var sql_variant = $1.50; SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;
Hasil:
+------------+ | BaseType | |------------| | money | +------------+
Kali ini jenis dasarnya adalah uang .
Contoh 2 – Properti Lainnya
Pada tulisan ini, ada enam kemungkinan argumen untuk fungsi ini. Dengan kata lain, Anda bisa mendapatkan informasi tentang enam properti berbeda dari nilai yang diteruskan.
Berikut ini contoh yang menggunakan keenamnya:
DECLARE @var sql_variant = SYSDATETIME(); SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType, SQL_VARIANT_PROPERTY(@var, 'Precision') AS Precision, SQL_VARIANT_PROPERTY(@var, 'Scale') AS Scale, SQL_VARIANT_PROPERTY(@var, 'TotalBytes') AS TotalBytes, SQL_VARIANT_PROPERTY(@var, 'Collation') AS Collation, SQL_VARIANT_PROPERTY(@var, 'MaxLength') AS MaxLength;
Hasil:
+------------+-------------+---------+--------------+-------------+-------------+ | BaseType | Precision | Scale | TotalBytes | Collation | MaxLength | |------------+-------------+---------+--------------+-------------+-------------| | datetime2 | 27 | 7 | 11 | NULL | 8 | +------------+-------------+---------+--------------+-------------+-------------+