Поделиться через


QUOTENAME (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL analytics в Microsoft FabricWarehouse в Microsoft FabricSQL базы данных в Microsoft Fabric

Возвращает строку Юникода с разделителями, добавленными для ввода строки допустимым идентификатором SQL Server delimited.

Transact-SQL соглашения о синтаксисе

Синтаксис

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

Аргументы

'character_string'

Строка символьных данных Юникода. Аргумент character_string имеет тип sysname, а его длина ограничена 128 символами. Входные данные, превышающие 128 символов, возвращаются NULL.

'quote_character'

Однозначная строка, используемая в качестве разделителя. Может быть одной кавычки ('), левой или правой скобкой (или]), двойным кавычки (), левой или правой скобкой ("или)), больше или меньше знака> ((или), левой или правой{ скобки[ (или}<) или задней скобки ('').

Если вы предоставляете недопустимый знак кавычки, NULL возвращается. Если quote_character не задано, используются квадратные скобки.

Типы возвращаемых данных

nvarchar(258)

Примеры

В следующем примере принимается строка символов abc[]def и используется символы [ и ] для создания допустимого идентификатора с разделителями SQL Server.

SELECT QUOTENAME('abc[]def');

Вот результирующий набор.

[abc[]]def]

Правая скобка в строке abc[]def двойной, чтобы указать escape-символ.

В следующем примере строка, заключенная в кавычки, подготавливается к использованию при именовании столбца.

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;

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

В следующем примере принимается строка символов abc def и используется символы [ и ] для создания допустимого идентификатора с разделителями SQL Server.

SELECT QUOTENAME('abc def');

Вот результирующий набор.

[abc def]