QUOTENAME (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает строку Юникода с разделителями, добавленными, чтобы сделать входную строку допустимым идентификатором разделителя SQL Server.
Соглашения о синтаксисе 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]
(1 row(s) affected)
Обратите внимание, что закрывающая квадратная скобка в строке abc[]def
удвоена, чтобы указать на escape-символ.
В следующем примере строка, заключенная в кавычки, подготавливается к использованию при именовании столбца.
DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'
EXEC sp_executesql @sql
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В следующем примере берется символьная строка abc def
и ]
используются [
символы для создания допустимого идентификатора с разделителями SQL Server.
SELECT QUOTENAME('abc def');
Вот результирующий набор.
[abc def]
(1 row(s) affected)
См. также
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)
Строковые функции (Transact-SQL)