uniqueidentifier (Transact-SQL)

 

ESTE TEMA SE APLICA A: síSQL Server (a partir de 2008)síBase de datos SQL de AzuresíAlmacenamiento de datos SQL de Azure síAlmacenamiento de datos paralelos

Es un GUID de 16 bytes.

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

  • Mediante la función NEWID.

  • Mediante la conversión 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 válido uniqueidentifier valor.

Operadores de comparación se pueden utilizar con uniqueidentifier valores. 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 uniqueidentifier valor son comparaciones (=, <> </>, <,>, <=,>=) y la comprobación de NULL (IS NULL e IS NOT NULL).</=,> </,> No es posible utilizar otros operadores aritméticos. Todas las restricciones de columna y propiedades, excepto IDENTITY, se pueden usar en el uniqueidentifier tipo de datos.

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

El uniqueidentifier tipo se considera un tipo de carácter para los fines de conversión de una expresión de caracteres y, por tanto, está sujeto a las reglas de truncamiento para convertir 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.

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. Dado que la uniqueidentifier tipo está limitado a 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)  

ALTER TABLE (Transact-SQL)
CAST y CONVERT (Transact-SQL)
Crear tabla (Transact-SQL)
Tipos de datos (Transact-SQL)
DECLARAR @local_variable (Transact-SQL)
NEWID (Transact-SQL)
ESTABLECER @local_variable (Transact-SQL)
Suscripciones actualizables para la replicación transaccional

Adiciones de comunidad

AGREGAR
Mostrar: