본문으로 건너뛰기
최종 수정: 에

JSON_QUOTE

설명​

입력 문자열 매개변수를 큰따옴표로 감싸고 문자열의 특수 문자와 제어 문자를 이스케이프합니다. 이 함수의 주된 목적은 문자열을 유효한 JSON 문자열로 변환하는 것입니다.

특수 문자에는 다음이 포함됩니다.

  • 큰따옴표 (")
  • 백슬래시 (\)
  • 백스페이스 (\b)
  • 줄 바꿈 (\n)
  • 캐리지 리턴 (\r)
  • 가로 탭 (\t)

제어 문자에는 다음이 포함됩니다.

  • CHAR(0)은 \u0000으로 이스케이프됩니다.

구문​

JSON_QUOTE (<str>)

매개변수​

<str> 문자열 타입으로, 따옴표로 감쌀 값입니다.

반환 값​

큰따옴표로 감싼 문자열을 반환합니다.

사용 시 주의 사항​

  • 매개변수가 NULL이면 NULL을 반환합니다.
  • 매개변수에 이스케이프 기호 (\) + 이스케이프 대상이 아닌 문자가 포함되어 있으면 이스케이프 기호가 제거됩니다. 예제 4와 5를 참조하세요.

예제​

  1. 큰따옴표 이스케이프

    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." |
    +------------------------------------------------------------+
  2. 특수 문자 이스케이프

    select json_quote("\\ \b \n \r \t");
    +------------------------------+
    | json_quote("\\ \b \n \r \t") |
    +------------------------------+
    | "\\ \b \n \r \t" |
    +------------------------------+
  3. 제어 문자 이스케이프

    select json_quote("\0");
    +------------------+
    | json_quote("\0") |
    +------------------+
    | "\u0000" |
    +------------------+
  4. 이스케이프 기호 + 이스케이프 대상이 아닌 문자의 경우

    select json_quote("\a");
    +------------------+
    | json_quote("\a") |
    +------------------+
    | "a" |
    +------------------+
  5. 값이 영이 아닌 출력 불가능 문자

    select json_quote("\1");
    +------------------+
    | json_quote("\1") |
    +------------------+
    | "1" |
    +------------------+