다음을 통해 공유


QUOTENAME(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

입력 문자열이 유효한 SQL Server 구분 식별자가 되도록 구분 기호가 추가된 유니코드 문자열을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

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

인수

'character_string'
유니코드 문자 데이터로 이루어진 문자열입니다. character_stringsysname이며 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 문자열에서 오른쪽 대괄호는 이중으로 사용되었는데, 이것은 이스케이프 문자를 나타내기 위한 것입니다.

다음 예에서는 열의 이름을 지정하는 데 사용할 따옴표 붙은 문자열을 준비합니다.

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)