Delen via


uniqueidentifier (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Is een GUID van 16 bytes.

Remarks

Een kolom of lokale variabele van het gegevenstype uniqueidentifier kan op de volgende manieren worden geïnitialiseerd naar een waarde:

  • Met behulp van de functies NEWID of NEWSEQUENTIALID .
  • Door een tekenreeksconstante te converteren in de vorm xxxxxxxx-xxxxxxxxxxxx---, waarbij elke x een hexadecimaal cijfer is in het bereik 0-9 of a-f. 6F9619FF-8B86-D011-B42D-00C04FC964FF is bijvoorbeeld een geldige unieke identificatiewaarde .

Vergelijkingsoperatoren kunnen worden gebruikt met uniqueidentifier-waarden . Volgorde wordt echter niet geïmplementeerd door de bitpatronen van de twee waarden te vergelijken. De enige bewerkingen die kunnen worden uitgevoerd op basis van een uniqueidentifier-waarde zijn vergelijkingen (=, <>, <, , ><=>) en het controleren op NULL (IS NULL en IS NOT NULL). Er kunnen geen andere rekenkundige operatoren worden gebruikt. Alle kolombeperkingen en -eigenschappen, met uitzondering van IDENTITEIT, kunnen worden gebruikt voor het gegevenstype uniqueidentifier .

Voeg replicatie en transactionele replicatie samen met het bijwerken van abonnementen en gebruik unieke identificatiekolommen om ervoor te zorgen dat rijen uniek worden geïdentificeerd op meerdere exemplaren van de tabel.

UniqueIdentifier-gegevens converteren

Het type uniqueidentifier wordt beschouwd als een tekentype voor conversie van een tekenexpressie en is daarom onderworpen aan de afkappingsregels voor het converteren naar een tekentype. Als tekenexpressies worden geconverteerd naar een gegevenstype van een ander teken, worden waarden die te lang zijn voor het nieuwe gegevenstype afgekapt. Zie de sectie Voorbeelden.

Beperkingen en beperkingen

Deze hulpprogramma's en functies bieden geen ondersteuning voor het uniqueidentifier gegevenstype:

Examples

In het volgende voorbeeld wordt een uniqueidentifier waarde geconverteerd naar een char gegevenstype.

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

In het volgende voorbeeld ziet u hoe de gegevens worden afgekapt wanneer de waarde te lang is voor het gegevenstype dat wordt geconverteerd. Omdat het type uniqueidentifier beperkt is tot 36 tekens, worden de tekens die langer zijn dan die lengte afgekapt.

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

Hier is het resultatenoverzicht.

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

See also

ALTER TABLE (Transact-SQL)
CAST en CONVERTEREN (Transact-SQL)
MAAK TABEL AAN (Transact-SQL)
gegevenstypen (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
Updatable Subscriptions for Transactional Replication (Updatable Subscriptions for Transactional Replication)