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

ESTE TEMA SE APLICA A:síSQL Server (a partir de 2008)síAzure SQL DatabasesíAzure SQL Data Warehouse síAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

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

ComentariosRemarks

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

  • Mediante la función NEWID.By using the NEWID function.
  • 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.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 válido uniqueidentifier valor.For example, 6F9619FF-8B86-D011-B42D-00C04FC964FF is a valid uniqueidentifier value.

Operadores de comparación se pueden utilizar con uniqueidentifier valores.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 uniqueidentifier valor son comparaciones (=, <>, <, >, <=, > =) y la comprobación de 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. Todas las restricciones de columna y propiedades, excepto IDENTITY, se pueden usar en el uniqueidentifier tipo de datos.All column constraints and properties, except IDENTITY, can be used on the uniqueidentifier data type.

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.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 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.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 uniqueidentifier tipo de datos: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. Dado que la uniqueidentifier tipo está limitado a 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)
SET @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)
Updatable Subscriptions for Transactional ReplicationUpdatable Subscriptions for Transactional Replication