Condividi tramite


QUOTENAME (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric

Restituisce una stringa Unicode in cui sono stati aggiunti i delimitatori per rendere la stringa di input un identificatore delimitato valido di SQL Server.

Convenzioni relative alla 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. In caso di input maggiori di 128 caratteri, viene restituito NULL.

'quote_character'
Stringa di un solo carattere da utilizzare come delimitatore. Può essere una virgoletta singola ( ' ), una parentesi quadra aperta o chiusa ( [] ), virgolette doppie ( " ), una parentesi sinistra o destra ( () ), il simbolo di maggiore di o minore di ( >< ), una parentesi graffa sinistra o destra ( {} ) o un apice inverso ( ` ). Viene restituito NULL se viene specificato un carattere non valido. Se quote_character viene omesso, vengono usate le parentesi quadre.

Tipi restituiti

nvarchar(258)

Esempi

Nell'esempio seguente vengono usati la stringa di caratteri abc[]def e i caratteri [ e ] per creare un identificatore delimitato di SQL Server valido.

SELECT QUOTENAME('abc[]def');

Il set di risultati è il seguente.

[abc[]]def]
  
(1 row(s) affected)  

Si noti che nella stringa abc[]def la parentesi quadra chiusa è doppia a 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 NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'

EXEC sp_executesql @sql

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

Nell'esempio seguente vengono usati la stringa di caratteri abc def e i caratteri [ e ] per creare un identificatore delimitato di SQL Server valido.

SELECT QUOTENAME('abc def');   

Il set di risultati è il seguente.

[abc def]  
  
(1 row(s) affected)  

Vedi anche

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)
Funzioni per i valori stringa (Transact-SQL)