Compartir vía


QUOTENAME (Transact-SQL)

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

Devuelve una cadena Unicode con los delimitadores agregados para que la cadena de entrada sea un identificador SQL Server delimitado válido.

Transact-SQL convenciones de sintaxis

Sintaxis

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

Argumentos

'character_string'

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'

Cadena de un carácter que se va a usar como delimitador. Puede ser una comilla simple ('), un corchete izquierdo o derecho ([ o ]), una comilla doble ("), un paréntesis izquierdo o derecho (( o )), un signo mayor o menor que el signo (> o <), una llave izquierda o derecha ({ o }) o una barra diagonal (''').

Si proporciona un carácter de comilla inaceptable, NULL se devuelve. Si no se especifica quote_character, se usan corchetes.

Tipos de retorno

nvarchar(258)

Ejemplos

En el ejemplo siguiente se toma la cadena de caracteres y se usan los caracteres /< > /> y para crear un identificador delimitado SQL Server válido.

SELECT QUOTENAME('abc[]def');

Este es el conjunto de resultados.

[abc[]]def]

El corchete derecho de la cadena abc[]def se duplica para indicar un carácter de escape.

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

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;

Ejemplos: Azure Synapse Analytics y Analytics Platform System (PDW)

En el ejemplo siguiente se toma la cadena de caracteres y se usan los caracteres /< > /> y para crear un identificador delimitado SQL Server válido.

SELECT QUOTENAME('abc def');

Este es el conjunto de resultados.

[abc def]