Partage via


QUOTENAME (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

Retourne une chaîne Unicode avec les délimiteurs ajoutés afin que la chaîne d'entrée soit un identificateur délimité SQL Server valide.

Conventions de la syntaxe Transact-SQL

Syntaxe

QUOTENAME ( 'character_string' [ , 'quote_character' ] )   

Arguments

'character_string'
Représente une chaîne de caractères au format Unicode. character_string est de type sysname et est limité à 128 caractères. Les entrées de plus de 128 caractères retournent une valeur NULL.

'quote_character'
Représente une chaîne d'un seul caractère à utiliser en tant que délimiteur. Il peut s’agir d’une apostrophe ( ' ), d’un crochet droit ou gauche ( [] ), d’un guillemet double ( " ), d’une parenthèse gauche ou droite ( () ), d’un signe inférieur ou supérieur à ( >< ), d’une accolade gauche ou droite ( {} ) ou d’un accent grave ( ` ). La valeur NULL est retournée si un caractère non autorisé est fourni. Si quote_character n’est pas spécifié, les crochets sont utilisés.

Types de retour

nvarchar(258)

Exemples

L'exemple suivant prend la chaîne de caractères abc[]def et utilise les caractères [] pour créer un identificateur délimité SQL Server valide.

SELECT QUOTENAME('abc[]def');

Voici le jeu de résultats.

[abc[]]def]
  
(1 row(s) affected)  

Vous remarquerez que dans la chaîne abc[]def, le crochet de droite est doublé pour indiquer un caractère d'échappement.

L’exemple suivant prépare une chaîne entre guillemets à utiliser pour nommer une colonne.

DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'

EXEC sp_executesql @sql

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

L'exemple suivant prend la chaîne de caractères abc def et utilise les caractères [] pour créer un identificateur délimité SQL Server valide.

SELECT QUOTENAME('abc def');   

Voici le jeu de résultats.

[abc def]  
  
(1 row(s) affected)  

Voir aussi

PARSENAME (Transact-SQL)
CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
REPLACE (Transact-SQL)
REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
STUFF (Transact-SQL)
TRANSLATE (Transact-SQL)
Fonctions de chaîne (Transact-SQL)