benzersiz tanımlayıcı (Transact-SQL)

16 baytlık bir GUID'dir.

Açıklamalar

uniqueidentifier veri türünde bir sütun veya yerel bir değişkene ilk değeri aşağıdaki yollarla atanabilir:

  • NEWID işlevini kullanarak.

  • Her x hanesinin 0-9 veya a-f aralığında onaltılık tabanda bir rakam olduğu xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx biçimindeki bir dize sabitinden dönüştürerek. Örneğin, 6F9619FF-8B86-D011-B42D-00C04FC964FF geçerli bir uniqueidentifier değeridir.

uniqueidentifier değerleri ile karşılaştırma işleçleri kullanılabilir. Ancak sıralama, iki değerin bit desenleri karşılaştırarak gerçekleştirilmez. Bir uniqueidentifier değeri üzerinde yapılabilecek işlemler yalnızca karşılaştırma (=, <>, <, >, <=, >=) ve NULL değer denetleme (IS NULL ve IS NOT NULL) işlemleridir. Başka hiçbir aritmetik işleç kullanılamaz. IDENTITY dışındaki tüm sütun kısıtlamaları ve özellikleri uniqueidentifier veri türü ile kullanılabilir.

Birleştirme çoğaltması ve abonelikleri güncelleştirerek yapılan işlem çoğaltması, uniqueidentifier sütunlarını, tablonun çok sayıdaki kopyasında satırların benzersiz olarak tanımlanmasını garantilemek için kullanır.

uniqueidentifier Verilerini Dönüştürme

uniqueidentifier türü bir karakter ifadesinden dönüştürme amaçlı bir karakter türü olarak görülür ve dolayısıyla karakter türü dönüştürmede geçerli olan kurallara tabidir. Yani karakter ifadeleri farklı boyuttaki bir karakter veri türüne dönüştürülürse, yeni veri türü için çok uzun olan değerler kısaltılır. Örnekler bölümüne bakın.

Örnekler

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

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

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 fazla uzun olduğunda verilerin kısaltılmasını göstermektedir. uniqueidentifier türü 36 karakterle sınırlı olduğundan, bu uzunluğu aşan karakterler kısaltılır.

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

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

Sonuç kümesi buradadır.

String                                       TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong    0E984725-C51C-4BF4-9960-E1C80E27ABA0

(1 row(s) affected)

String                                       TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong    0E984725-C51C-4BF4-9960-E1C80E27ABA0

(1 row(s) affected)

Ayrıca bkz.

Başvuru

ALTER TABLE (Transact-SQL)

CAST ve CONVERT (Transact-SQL)

Tablo (Transact-sql) oluştur

Veri Türleri (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

NEWID (Transact-SQL)

set @ local_variable (Transact-sql)

Kavramlar

Işlem çoğaltma için güncelleştirilebilir abonelikleri