uniqueidentifier (Transact-SQL)uniqueidentifier (Transact-SQL)

SE APLICA A: síSQL Server (a partir de 2008) síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Es un GUID de 16 bytes.Is a 16-byte GUID.

NotasRemarks

Una columna o una variable local de tipo de datos uniqueidentifier se puede inicializar en un valor de las siguientes formas:A column or local variable of uniqueidentifier data type can be initialized to a value in the following ways:

  • Mediante el uso de las funciones NEWID o NEWSEQUENTIALID.By using the NEWID or NEWSEQUENTIALID functions.
  • 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.By converting from a string constant in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, in which each x is a hexadecimal digit in the range 0-9 or a-f. Por ejemplo, 6F9619FF-8B86-D011-B42D-00C04FC964FF es un valor uniqueidentifier válido.For example, 6F9619FF-8B86-D011-B42D-00C04FC964FF is a valid uniqueidentifier value.

Con los valores uniqueidentifier se pueden usar operadores de comparación.Comparison operators can be used with uniqueidentifier values. No obstante, no se implementa la ordenación mediante la comparación de los patrones de bits de los dos valores.However, ordering is not implemented by comparing the bit patterns of the two values. Las únicas operaciones que se pueden realizar con un valor uniqueidentifier son comparaciones (=, <>, <, >, <=, >=) y comprobaciones para NULL (IS NULL e IS NOT NULL).The only operations that can be performed against a uniqueidentifier value are comparisons (=, <>, <, >, <=, >=) and checking for NULL (IS NULL and IS NOT NULL). No es posible utilizar otros operadores aritméticos.No other arithmetic operators can be used. Con el tipo de datos uniqueidentifier se pueden usar todas las propiedades y restricciones de columna, excepto IDENTITY.All column constraints and properties, except IDENTITY, can be used on the uniqueidentifier data type.

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.Merge replication and transactional replication with updating subscriptions use uniqueidentifier columns to guarantee that rows are uniquely identified across multiple copies of the table.

Convertir datos uniqueidentifierConverting uniqueidentifier Data

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.The uniqueidentifier type is considered a character type for the purposes of conversion from a character expression, and therefore is subject to the truncation rules for converting to a character type. 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.That is, when character expressions are converted to a character data type of a different size, values that are too long for the new data type are truncated. Vea la sección Ejemplos.See the Examples section.

Limitaciones y restriccionesLimitations and restrictions

Estas herramientas y características no son compatibles con el tipo de datos uniqueidentifier:These tools and features do not support the uniqueidentifier data type:

EjemplosExamples

En el ejemplo siguiente se convierte un valor uniqueidentifier a un tipo de datos char.The following example converts a uniqueidentifier value to a char data type.

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.The following example demonstrates the truncation of data when the value is too long for the data type being converted to. Como el tipo uniqueidentifier tiene un límite de 36 caracteres, se truncan los caracteres que superan esa longitud.Because the uniqueidentifier type is limited to 36 characters, the characters that exceed that length are truncated.

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

El conjunto de resultados es el siguiente.Here is the result set.

String                                       TruncatedValue  
-------------------------------------------- ------------------------------------  
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong    0E984725-C51C-4BF4-9960-E1C80E27ABA0  

(1 row(s) affected)  

Vea tambiénSee also

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