Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Är ett GUID på 16 byte.
Remarks
En kolumn eller lokal variabel av datatypen uniqueidentifier kan initieras till ett värde på följande sätt:
- Med funktionerna NEWID eller NEWSEQUENTIALID .
- Genom att konvertera från en strängkonstant i formatet xxxxxxxx-xxxx xxxx--xxxx xxxx-xxxxxxxxxxxxxx, där varje x är en hexadecimal siffra i intervallet 0-9 eller a-f. Till exempel är 6F9619FF-8B86-D011-B42D-00C04FC964FF ett giltigt uniktidentifierarvärde .
Jämförelseoperatorer kan användas med unikaidentifierarvärden . Ordningen implementeras dock inte genom att jämföra bitmönstren för de två värdena. De enda åtgärder som kan utföras mot ett uniktidentifierarvärde är jämförelser (=, <>, <, >, <=, >=) och kontroll av NULL (IS NULL och IS NOT NULL). Inga andra aritmetiska operatorer kan användas. Alla kolumnbegränsningar och egenskaper, utom IDENTITY, kan användas för datatypen uniqueidentifier .
Sammanfoga replikering och transaktionsreplikering med uppdateringsprenumerationer använder unikaidentifierarkolumner för att garantera att rader identifieras unikt i flera kopior av tabellen.
Konvertera unikaidentifierardata
Typen uniqueidentifier anses vara en teckentyp för konvertering från ett teckenuttryck och omfattas därför av trunkeringsreglerna för konvertering till en teckentyp. När teckenuttryck konverteras till en teckendatatyp av en annan storlek trunkeras alltså värden som är för långa för den nya datatypen. Se avsnittet Exempel.
Begränsningar och restriktioner
Dessa verktyg och funktioner stöder uniqueidentifier inte datatypen:
- PolyBase
- dwloader-inläsningsverktyg för Parallel Data Warehouse
Examples
I följande exempel konverteras ett uniqueidentifier värde till en char datatyp.
DECLARE @myid uniqueidentifier = NEWID();
SELECT CONVERT(CHAR(255), @myid) AS 'char';
I följande exempel visas trunkeringen av data när värdet är för långt för den datatyp som konverteras till. Eftersom den unikaidentifieraren typ är begränsad till 36 tecken trunkeras de tecken som överskrider den längden.
DECLARE @ID NVARCHAR(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;
Här är resultatet.
String TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong 0E984725-C51C-4BF4-9960-E1C80E27ABA0
(1 row(s) affected)
See also
ALTER TABLE (Transact-SQL)
CAST och CONVERT (Transact-SQL)
SKAPA TABELL (Transact-SQL)
Datatyper (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
Uppdateringsbara prenumerationer för transaktionsreplikering