QUOTENAME (Transact-SQL)

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse in Microsoft FabricSQL in Microsoft Fabric

Restituisce una stringa Unicode con i delimitatori aggiunti per rendere la stringa di input un identificatore valido SQL Server .

convenzioni di sintassi Transact-SQL

Sintassi

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

Argomenti

'character_string'

Stringa di dati di tipo carattere Unicode. character_string è di tipo sysname e la lunghezza massima è di 128 caratteri. Gli input maggiori di 128 caratteri restituiscono NULL.

'quote_character'

Stringa di un carattere da usare come delimitatore. Può essere una virgoletta singola ('), una parentesi quadra sinistra o destra ([ o ]), una virgoletta doppia ("), una parentesi sinistra o destra (( o )), una parentesi graffa maggiore o minore di segno (> o <), una parentesi graffa sinistra o destra ({ o }) o una parentesi rovesciata (''').

Se si specifica un carattere di virgoletta inaccettabile, NULL viene restituito . Se non viene specificato quote_character , vengono usate le parentesi quadre.

Tipi restituiti

nvarchar(258)

Esempi

L'esempio seguente accetta la stringa di caratteri abc[]def e usa i caratteri /[ e ] per creare un identificatore delimitato SQL Server valido.

SELECT QUOTENAME('abc[]def');

Il set di risultati è il seguente.

[abc[]]def]

La parentesi quadra destra nella stringa abc[]def viene raddoppiata per indicare un carattere di escape.

Nell'esempio seguente viene preparata una stringa racchiusa tra virgolette da usare per la denominazione di una colonna.

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;

Esempi: Azure Synapse Analytics e piattaforma di analisi (PDW)

L'esempio seguente accetta la stringa di caratteri abc def e usa i caratteri /[ e ] per creare un identificatore delimitato SQL Server valido.

SELECT QUOTENAME('abc def');

Il set di risultati è il seguente.

[abc def]