Condividi tramite


QUOTENAME (Transact-SQL)

Applies to:SQL Serverdatabase SQL di AzureIstanza gestita di SQL di AzureAzure 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]