Megosztás a következőn keresztül:


uniqueidentifier (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

16 bájtos GUID.

Remarks

A uniqueidentifier adattípusú oszlop vagy helyi változó az alábbi módokon inicializálható értékre:

  • A NEWID vagy a NEWSEQUENTIALID függvény használatával.
  • A xxxxxxxx-xxxx xxxx xxxx-xxxx-xxxx xxxx-xxxxxxxxxxxx formátumú sztringállandóból való konvertálással, amelyben minden x egy hexadecimális számjegy a 0-9 vagy a-f tartományban. A 6F9619FF-8B86-D011-B42D-00C04FC964FF például egy érvényes uniqueidentifier érték.

Az összehasonlító operátorok a uniqueidentifier értékekkel használhatók. A rendezés azonban nem valósul meg a két érték bitmintáinak összehasonlításával. A uniqueidentifier értéken csak az összehasonlítások (=, , <>, <, ><=, >=) és a NULL (IS NULL és NOT NULL) értékek ellenőrzése végezhetők el. Más aritmetikai operátor nem használható. Az identity kivételével minden oszlopkorlátozás és tulajdonság használható a uniqueidentifier adattípuson.

A replikáció és a tranzakciós replikáció egyesítése az előfizetések frissítésével egyedi azonosító oszlopokkal garantálja, hogy a sorok egyedileg azonosíthatók legyenek a tábla több példányában.

Uniqueidentifier-adatok konvertálása

A uniqueidentifier típus karaktertípusnak minősül egy karakterkifejezésből való átalakítás céljából, ezért a karaktertípusra való konvertálás csonkítási szabályai vonatkoznak rá. Vagyis ha a karakterkifejezések más méretű karakteradat-típussá alakulnak, a rendszer csonkolja az új adattípushoz túl hosszú értékeket. Lásd a Példák szakaszt.

Korlátozások és korlátozások

Ezek az eszközök és funkciók nem támogatják az adattípust uniqueidentifier :

Examples

Az alábbi példa egy uniqueidentifier értéket adattípussá char alakít át.

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

Az alábbi példa az adatok csonkolását mutatja be, ha az érték túl hosszú ahhoz, hogy az adattípust átalakítsa. Mivel a uniqueidentifier típus legfeljebb 36 karakter hosszúságú lehet, az ilyen hosszúságú karakterek csonkolt lesznek.

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

Itt van az eredmények összessége.

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

Lásd még

ALTERNATÍV TÁBLÁZAT (Transact-SQL)
CAST és CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
adattípusok (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
Frissíthető előfizetések tranzakciós replikációhoz