uniqueidentifier (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Adalah GUID 16 byte.
Keterangan
Kolom atau variabel lokal jenis data pengidentifikasi unik dapat diinisialisasi ke nilai dengan cara berikut:
- Dengan menggunakan fungsi NEWID atau NEWSEQUENTIALID .
- Dengan mengonversi dari konstanta string dalam bentuk xxxxxxxx-xxxx-xxxx-xxxx-xx, di mana setiap x adalah digit heksadesimal dalam rentang 0-9 atau a-f. Misalnya, 6F9619FF-8B86-D011-B42D-00C04FC964FF adalah nilai pengidentifikasi unik yang valid.
Operator perbandingan dapat digunakan dengan nilai pengidentifikasi unik. Namun, pengurutan tidak diterapkan dengan membandingkan pola bit dari dua nilai. Satu-satunya operasi yang dapat dilakukan terhadap nilai uniqueidentifier adalah perbandingan (=, <>, <, >, <=, >=) dan memeriksa NULL (IS NULL dan IS NOT NULL). Tidak ada operator aritmatika lain yang dapat digunakan. Semua batasan dan properti kolom, kecuali IDENTITY, dapat digunakan pada jenis data pengidentifikasi unik.
Gabungkan replikasi dan replikasi transaksional dengan memperbarui langganan menggunakan kolom pengidentifikasi unik untuk menjamin bahwa baris diidentifikasi secara unik di beberapa salinan tabel.
Mengonversi Data pengidentifikasi unik
Jenis pengidentifikasi unik dianggap sebagai jenis karakter untuk tujuan konversi dari ekspresi karakter, dan karenanya tunduk pada aturan pemotongan untuk mengonversi ke jenis karakter. Artinya, ketika ekspresi karakter dikonversi ke jenis data karakter dengan ukuran yang berbeda, nilai yang terlalu panjang untuk jenis data baru dipotong. Lihat bagian Contoh.
Pembatasan dan batasan
Alat dan fitur ini tidak mendukung uniqueidentifier
jenis data:
- PolyBase
- alat pemuatan dwloader untuk Gudang Data Paralel
Contoh
Contoh berikut mengonversi uniqueidentifier
nilai menjadi char
jenis data.
DECLARE @myid uniqueidentifier = NEWID();
SELECT CONVERT(CHAR(255), @myid) AS 'char';
Contoh berikut menunjukkan pemotongan data ketika nilai terlalu panjang untuk jenis data yang dikonversi. Karena jenis uniqueidentifier dibatasi hingga 36 karakter, karakter yang melebihi panjang tersebut dipotong.
DECLARE @ID NVARCHAR(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;
Berikut adalah hasil yang ditetapkan.
String TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong 0E984725-C51C-4BF4-9960-E1C80E27ABA0
(1 row(s) affected)
Lihat juga
ALTER TABLE (Transact-SQL)
CAST dan CONVERT (Transact-SQL)
BUAT TABEL (Transact-SQL)
Tipe Data (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
Langganan yang Dapat Diperbarui untuk Replikasi Transaksional