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