Compartir vía


QUOTENAME (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric

Devuelve una cadena Unicode con los delimitadores agregados para convertirla en un identificador delimitado válido de SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

'character_string'
Es una cadena de datos de caracteres Unicode. character_string es sysname y está limitado a 128 caracteres. Las entradas mayores de 128 caracteres devuelven NULL.

'quote_character'
Es una cadena de un solo carácter que se utiliza como delimitador. Puede ser una comilla simple ( ' ), un corchete de apertura o cierre ( [] ), comillas dobles ( " ), un paréntesis de apertura o cierre ( () ), un signo de mayor que o menor que ( >< ), una llave de apertura o cierre ( {} ) o un acento grave ( ` ). Se devuelve NULL si se proporciona un carácter no admitido. Si no se especifica quote_character, se usarán corchetes.

Tipos de valor devuelto

nvarchar(258)

Ejemplos

En el siguiente ejemplo se toma la cadena de caracteres abc[]def y se utilizan los caracteres [ y ] para crear un identificador delimitado de SQL Server válido.

SELECT QUOTENAME('abc[]def');

Este es el conjunto de resultados.

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

Observe que el corchete derecho de la cadena abc[]def aparece dos veces para indicar que se trata de un carácter de escape.

En el siguiente ejemplo se prepara una cadena entrecomillada para usarla para dar nombre a una columna.

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

EXEC sp_executesql @sql

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

En el siguiente ejemplo se toma la cadena de caracteres abc def y se utilizan los caracteres [ y ] para crear un identificador delimitado de SQL Server válido.

SELECT QUOTENAME('abc def');   

Este es el conjunto de resultados.

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

Consulte también

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)
String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]