QUOTENAME (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge) OuiAzure SQL Database OuiAzure SQL Managed Instance ouiAzure Synapse Analytics ouiParallel Data Warehouse

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.

Icône du lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

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

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.

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 obtenu.

[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 Parallel Data Warehouse

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 obtenu.

[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)