QUOTENAME (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
Returns a Unicode string with the delimiters added to make the input string a valid SQL Server delimited identifier.
Transact-SQL syntax conventions
Syntax
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
Arguments
'character_string'
Is a string of Unicode character data. character_string is sysname and is limited to 128 characters. Inputs greater than 128 characters return NULL.
'quote_character'
Is a one-character string to use as the delimiter. Can be a single quotation mark ( ' ), a left or right bracket ( [] ), a double quotation mark ( " ), a left or right parenthesis ( () ), a greater than or less than sign ( >< ), a left or right brace ( {} ) or a backtick ( ` ). NULL returns if an unacceptable character is supplied. If quote_character is not specified, brackets are used.
Return Types
nvarchar(258)
Examples
The following example takes the character string abc[]def
and uses the [
and ]
characters to create a valid SQL Server delimited identifier.
SELECT QUOTENAME('abc[]def');
Here's the result set.
[abc[]]def]
(1 row(s) affected)
Notice that the right bracket in the string abc[]def
is doubled to indicate an escape character.
The following example prepares a quoted string to use in naming a column.
DECLARE @columnName NVARCHAR(255)='user''s "custom" name'
DECLARE @sql NVARCHAR(MAX) = 'SELECT FirstName AS ' + QUOTENAME(@columnName) + ' FROM dbo.DimCustomer'
EXEC sp_executesql @sql
Examples: Azure Synapse Analytics and Analytics Platform System (PDW)
The following example takes the character string abc def
and uses the [
and ]
characters to create a valid SQL Server delimited identifier.
SELECT QUOTENAME('abc def');
Here's the result set.
[abc def]
(1 row(s) affected)
See Also
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)