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

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database ouiAzure SQL Data Warehouse ouiParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

GUID sur 16 octets.Is a 16-byte GUID.

NotesRemarks

Il existe deux manières d’affecter une valeur initiale à une colonne ou à une variable locale du type de données uniqueidentifier :A column or local variable of uniqueidentifier data type can be initialized to a value in the following ways:

  • en utilisant les fonctions NEWID ou NEWSEQUENTIALID ;By using the NEWID or NEWSEQUENTIALID functions.
  • en convertissant à partir d’une constante de chaîne de la forme xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, où chaque x est un chiffre hexadécimal compris dans la plage 0-9 ou 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. Par exemple, 6F9619FF-8B86-D011-B42D-00C04FC964FF est une valeur uniqueidentifier valide.For example, 6F9619FF-8B86-D011-B42D-00C04FC964FF is a valid uniqueidentifier value.

Des opérateurs de comparaison peuvent être utilisés avec des valeurs uniqueidentifier.Comparison operators can be used with uniqueidentifier values. Toutefois, le classement n'est pas effectué par la comparaison des configurations binaires des deux valeurs.However, ordering is not implemented by comparing the bit patterns of the two values. Les seules opérations que vous êtes autorisé à effectuer sur une valeur uniqueidentifier sont les comparaisons (=, <>, <, >, <=, >=) et la recherche de valeurs Null (IS NULL et 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). Aucun autre opérateur arithmétique n'est admis.No other arithmetic operators can be used. Toutes les propriétés et contraintes de colonnes, à l’exception de la propriété IDENTITY, sont autorisées dans le type de données uniqueidentifier.All column constraints and properties, except IDENTITY, can be used on the uniqueidentifier data type.

Les réplications de fusion et les réplications transactionnelles possédant des abonnements mis à jour utilisent des colonnes uniqueidentifier afin de garantir que les lignes sont identifiées de manière unique au sein des nombreuses copies de la table.Merge replication and transactional replication with updating subscriptions use uniqueidentifier columns to guarantee that rows are uniquely identified across multiple copies of the table.

Conversion de données uniqueidentifierConverting uniqueidentifier Data

Le type uniqueidentifier est considéré comme un type caractère pour les besoins de la conversion à partir d’une expression de caractères ; il est par conséquent soumis aux règles de troncation pour la conversion en un type caractère.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. Autrement dit, lorsque des expressions de caractères sont converties en type caractère de taille différente, les valeurs trop longues pour le nouveau type de données sont tronquées.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. Consultez la section exemples.See the Examples section.

Limitations et restrictionsLimitations and restrictions

Les outils et fonctionnalités ci-dessous ne prennent pas en charge le type de données uniqueidentifier :These tools and features do not support the uniqueidentifier data type:

ExemplesExamples

L'exemple suivant convertit une valeur uniqueidentifier en type de données char.The following example converts a uniqueidentifier value to a char data type.

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

L'exemple suivant illustre la troncation des données lorsque la valeur est trop longue pour le type de données vers lequel la conversion est effectuée.The following example demonstrates the truncation of data when the value is too long for the data type being converted to. Étant donné que le type uniqueidentifier est limité à 36 caractères, les caractères qui dépassent cette longueur sont tronqués.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;  

Voici l'ensemble des résultats.Here is the result set.

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

Voir aussiSee also

ALTER TABLE (Transact-SQL)ALTER TABLE (Transact-SQL)
CAST et CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)
Types de données (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