QUOTENAME (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric

Retorna uma cadeia de caracteres Unicode com os delimitadores adicionados para tornar a cadeia de caracteres de entrada um identificador delimitado válido do SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

'character_string'
É uma cadeia de caracteres de dados de caracteres Unicode. character_string é sysname e está limitado a 128 caracteres. Entradas maiores que 128 caracteres retornam NULL.

'quote_character'
É uma cadeia de um caractere a ser usada como o delimitador. É possível usar aspas simples ( ' ), um colchete esquerdo ou direito ( [] ), aspas duplas ( " ), um parêntese esquerdo ou direito ( () ), um sinal de menor que ou maior que ( >< ), uma chave esquerda ou direita ( {} ) ou um acento grave ( ` ). NULL será retornado se um caractere inaceitável for fornecido. Se quote_character não for especificado, serão usados colchetes.

Tipos de retorno

nvarchar(258)

Exemplos

O exemplo a seguir obtém a cadeia de caracteres abc[]def e usa os caracteres [ e ] para criar um identificador delimitado válido do SQL Server.

SELECT QUOTENAME('abc[]def');

Veja a seguir o conjunto de resultados.

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

Observe que o colchete direito na cadeia de caracteres abc[]def é duplicado para indicar um caractere de escape.

O exemplo a seguir prepara uma cadeia de caracteres entre aspas para usar ao nomear uma coluna.

DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'

EXEC sp_executesql @sql

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

O exemplo a seguir obtém a cadeia de caracteres abc def e usa os caracteres [ e ] para criar um identificador delimitado válido do SQL Server.

SELECT QUOTENAME('abc def');   

Veja a seguir o conjunto de resultados.

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

Confira também

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)
Funções de cadeia de caracteres (Transact-SQL)