SQL Server 2016 버전 부터 JSON 문자열의 특수문자를 Escape 처리를 할 수 있는 STRING_ESCAPE() 함수가 추가 되었다. 모든 문자열에 사용 가능하지만 현재는, json에서 사용하는 특수문자만 지원한다.
STRING_ESCAPE("문자열", "유형") |
현재 유형은 "json"만 지원함
json 문자열 자체를 Escape 처리하는 것이 아니라, json에 사용할 문자열 값을 Escape 처리하는 기능임
SELECT STRING_ESCAPE('"젠트"의
프로그래밍 세상','json') AS result
SELECT STRING_ESCAPE('https://gent.tistory.com/','json') AS result
DECLARE @site VARCHAR(100) = '"젠트"의
프로그래밍 세상'
DECLARE @url VARCHAR(100) = 'https://gent.tistory.com/'
SELECT '[{"site":"' + STRING_ESCAPE(@site, 'json')
+ '","url":"' + STRING_ESCAPE(@url, 'json') + '"}]' AS json_str
특수 문자 | 인코딩된 시퀀스 |
따옴표(") | \" |
백슬래시(\) | \\ |
슬래시(/) | \/ |
백스페이스 | \b |
폼 피드 | \f |
줄 바꿈 | \n |
캐리지 리턴 | \r |
가로 탭 | \t |
사용 예제