uniqueidentifier (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Es un GUID de 16 bytes.

Observaciones

Una columna o una variable local de tipo de datos uniqueidentifier se puede inicializar en un valor de las siguientes formas:

  • Mediante el uso de las funciones NEWID o NEWSEQUENTIALID.
  • Mediante la conversión a partir de una constante de cadena con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, donde cada x es un dígito hexadecimal en el intervalo 0-9 o a-f. Por ejemplo, 6F9619FF-8B86-D011-B42D-00C04FC964FF es un valor uniqueidentifier válido.

Con los valores uniqueidentifier se pueden usar operadores de comparación. No obstante, no se implementa la ordenación mediante la comparación de los patrones de bits de los dos valores. Las únicas operaciones que se pueden realizar con un valor uniqueidentifier son comparaciones (=, <>, <, >, <=, >=) y comprobaciones para NULL (IS NULL e IS NOT NULL). No es posible utilizar otros operadores aritméticos. Con el tipo de datos uniqueidentifier se pueden usar todas las propiedades y restricciones de columna, excepto IDENTITY.

La replicación de mezcla y la replicación transaccional con suscripciones de actualización usan columnas uniqueidentifier para garantizar que las filas se identifican de forma única en varias copias de la tabla.

Convertir datos uniqueidentifier

El tipo uniqueidentifier se considera un tipo de carácter para la conversión desde una expresión de caracteres y, por tanto, está sujeto a las reglas de truncamiento para la conversión a un tipo de carácter. Es decir, cuando se convierten expresiones de carácter a un tipo de datos de carácter de un tamaño distinto, se truncan los valores que son demasiado grandes para el nuevo tipo de datos. Vea la sección Ejemplos.

Limitaciones y restricciones

Estas herramientas y características no son compatibles con el tipo de datos uniqueidentifier:

Ejemplos

En el ejemplo siguiente se convierte un valor uniqueidentifier a un tipo de datos char.

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

En el ejemplo siguiente se muestra el truncamiento de los datos cuando el valor es demasiado largo para el tipo de datos al que se va a convertir. Como el tipo uniqueidentifier tiene un límite de 36 caracteres, se truncan los caracteres que superan esa longitud.

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

El conjunto de resultados es el siguiente:

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

Consulte también

ALTER TABLE (Transact-SQL)
CAST y CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Tipos de datos (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
Updatable Subscriptions for Transactional Replication