uniqueidentifier (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
GUID sur 16 octets.
Notes
Il existe deux manières d’affecter une valeur initiale à une colonne ou à une variable locale du type de données uniqueidentifier :
- en utilisant les fonctions NEWID ou NEWSEQUENTIALID ;
- 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. Par exemple, 6F9619FF-8B86-D011-B42D-00C04FC964FF est une valeur uniqueidentifier valide.
Des opérateurs de comparaison peuvent être utilisés avec des valeurs uniqueidentifier. Toutefois, le classement n'est pas effectué par la comparaison des configurations binaires des deux valeurs. 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). Aucun autre opérateur arithmétique n'est admis. 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.
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.
Conversion de données uniqueidentifier
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. 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. Consultez la section exemples.
Limitations et restrictions
Les outils et fonctionnalités ci-dessous ne prennent pas en charge le type de données uniqueidentifier
:
- PolyBase
- Outil de chargement dwloader pour Parallel Data Warehouse
Exemples
L'exemple suivant convertit une valeur uniqueidentifier
en type de données char
.
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. Étant donné que le type uniqueidentifier est limité à 36 caractères, les caractères qui dépassent cette longueur sont tronqués.
DECLARE @ID NVARCHAR(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;
Voici le jeu de résultats.
String TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong 0E984725-C51C-4BF4-9960-E1C80E27ABA0
(1 row(s) affected)
Voir aussi
ALTER TABLE (Transact-SQL)
CAST et CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Types de données (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID (Transact-SQL)
NEWSEQUENTIALID (Transact-SQL)
SET @local_variable (Transact-SQL)
Updatable Subscriptions for Transactional Replication