Aracılığıyla paylaş


uniqueidentifier (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

16 baytlık BIR GUID'dir.

Remarks

Uniqueidentifier veri türündeki bir sütun veya yerel değişken aşağıdaki yollarla bir değere başlatılabilir:

  • NEWID veya NEWSEQUENTIALID işlevlerini kullanarak.
  • Xxxx xxxx---- biçimindeki bir dize sabitinden dönüştürerek, herx 0-9 veya a-f aralığında onaltılık bir basamaktır. Örneğin, 6F9619FF-8B86-D011-B42D-00C04FC964FF geçerli bir benzersiz tanımlayıcı değeridir.

Karşılaştırma işleçleri benzersiz belirleyici değerlerle kullanılabilir. Ancak sıralama, iki değerin bit desenleri karşılaştırılarak uygulanmaz. Benzersiz bir belirleyici değere karşı gerçekleştirilebilecek işlemler karşılaştırmalardır (=, <>, <, , >=<, >=) ve NULL (IS NULL ve IS NOT NULL) denetimi. Başka aritmetik işleç kullanılamaz. IDENTITY dışındaki tüm sütun kısıtlamaları ve özellikleri benzersiz belirleyici veri türünde kullanılabilir.

Çoğaltmayı ve işlem çoğaltmasını güncelleştirme abonelikleriyle birleştirme, satırların tablonun birden çok kopyası arasında benzersiz olarak tanımlandığından emin olmak için uniqueidentifier sütunlarını kullanır.

Uniqueidentifier Verilerini Dönüştürme

Uniqueidentifier türü, bir karakter ifadesinden dönüştürme amacıyla bir karakter türü olarak kabul edilir ve bu nedenle karakter türüne dönüştürmek için kesme kurallarına tabidir. Başka bir ifade, karakter ifadeleri farklı boyutta bir karakter veri türüne dönüştürüldüğünde, yeni veri türü için çok uzun olan değerler kesilir. Örnekler bölümüne bakın.

Sınırlamalar ve kısıtlamalar

Bu araçlar ve özellikler veri türünü desteklemez uniqueidentifier :

Examples

Aşağıdaki örnek bir uniqueidentifier değeri veri türüne char dönüştürür.

DECLARE @myid uniqueidentifier = NEWID();  
SELECT CONVERT(CHAR(255), @myid) AS 'char';  

Aşağıdaki örnek, değer dönüştürülen veri türü için çok uzun olduğunda verilerin kesilmesini gösterir. Uniqueidentifier türü 36 karakterle sınırlı olduğundan, bu uzunluğu aşan karakterler kesilir.

DECLARE @ID NVARCHAR(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';  
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;  

Sonuç kümesi aşağıdadır.

String                                       TruncatedValue  
-------------------------------------------- ------------------------------------  
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong    0E984725-C51C-4BF4-9960-E1C80E27ABA0  
  
(1 row(s) affected)  

Ayrıca bakınız

ALTER TABLE (Transact-SQL)
CAST ve CONVERT (Transact-SQL)
TABLO OLUŞTUR (Transact-SQL)
Veri Türleri (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
İşlem Çoğaltması için Güncelleştirilebilir Abonelikler