최종 수정: 에
JSON_QUOTE
설명
입력 문자열 매개변수를 큰따옴표로 감싸고 문자열의 특수 문자와 제어 문자를 이스케이프합니다. 이 함수의 주된 목적은 문자열을 유효한 JSON 문자열로 변환하는 것입니다.
특수 문자에는 다음이 포함됩니다.
- 큰따옴표 (
") - 백슬래시 (
\) - 백스페이스 (
\b) - 줄 바꿈 (
\n) - 캐리지 리턴 (
\r) - 가로 탭 (
\t)
제어 문자에는 다음이 포함됩니다.
CHAR(0)은\u0000으로 이스케이프됩니다.
구문
JSON_QUOTE (<str>)
매개변수
<str> 문자열 타입으로, 따옴표로 감쌀 값입니다.
반환 값
큰따옴표로 감싼 문자열을 반환합니다.
사용 시 주의 사항
- 매개변수가 NULL이면 NULL을 반환합니다.
- 매개변수에 이스케이프 기호 (
\) + 이스케이프 대상이 아닌 문자가 포함되어 있으면 이스케이프 기호가 제거됩니다. 예제 4와 5를 참조하세요.
예제
-
큰따옴표 이스케이프
select json_quote('I am a "string" that contains double quotes.');+------------------------------------------------------------+
| json_quote('I am a "string" that contains double quotes.') |
+------------------------------------------------------------+
| "I am a \"string\" that contains double quotes." |
+------------------------------------------------------------+ -
특수 문자 이스케이프
select json_quote("\\ \b \n \r \t");+------------------------------+
| json_quote("\\ \b \n \r \t") |
+------------------------------+
| "\\ \b \n \r \t" |
+------------------------------+ -
제어 문자 이스케이프
select json_quote("\0");+------------------+
| json_quote("\0") |
+------------------+
| "\u0000" |
+------------------+ -
이스케이프 기호 + 이스케이프 대상이 아닌 문자의 경우
select json_quote("\a");+------------------+
| json_quote("\a") |
+------------------+
| "a" |
+------------------+ -
값이 영이 아닌 출력 불가능 문자
select json_quote("\1");+------------------+
| json_quote("\1") |
+------------------+
| "1" |
+------------------+