Partager via


QUOTENAME (Transact-SQL)

Applies to :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL analytics endpoint in Microsoft Fabric< /c12>Warehouse dans Microsoft FabricSQL dans Microsoft Fabric

Retourne une chaîne Unicode avec les délimiteurs ajoutés pour rendre la chaîne d’entrée un identificateur valide SQL Server délimité.

conventions de syntaxe Transact-SQL

Syntaxe

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

Arguments

'character_string'

Chaîne de données de caractères Unicode. character_string est de type sysname et est limité à 128 caractères. Les entrées supérieures à 128 caractères retournent NULL.

'quote_character'

Chaîne à caractère unique à utiliser comme délimiteur. Il peut s’agir d’un guillemet simple ('), d’un crochet gauche ou droit ([ ou ]), d’un guillemet double ("), d’une parenthèse gauche ou droite (( ou )), d’un signe supérieur ou inférieur au signe (> ou <), d’une accolade gauche ou droite ({ ou ) ou }d’un backtick ('').

Si vous fournissez un caractère de guillemet inacceptable, NULL est retourné. 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 [ et ] pour créer un identificateur délimité SQL Server valide.

SELECT QUOTENAME('abc[]def');

Voici le jeu de résultats.

[abc[]]def]

Le crochet droit dans la chaîne abc[]def 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 AS NVARCHAR (255) = 'user''s "custom" name';

DECLARE @sql AS NVARCHAR (MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer';

EXECUTE sp_executesql @sql;

Exemples : système de plateforme Azure Synapse Analytics et analytique (PDW)

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

SELECT QUOTENAME('abc def');

Voici le jeu de résultats.

[abc def]