メインコンテンツまでスキップ
バージョン: 26.x

JSON_QUOTE

説明

入力文字列パラメータを二重引用符で囲み、文字列内の特殊文字と制御文字をエスケープします。この関数の主な目的は、文字列を有効なJSON文字列に変換することです。

特殊文字には以下が含まれます:

  • 引用符("
  • バックスラッシュ(\
  • バックスペース(\b
  • 改行(\n
  • 復帰文字(\r
  • 水平タブ(\t

制御文字には以下が含まれます:

  • CHAR(0)\u0000としてエスケープされます

構文

JSON_QUOTE (<str>)

パラメータ

<str> String型、クォートされる値。

Return Value

ダブルクォートで囲まれた文字列を返します

Usage 注釈

  • パラメータがNULLの場合、NULLを返します。
  • パラメータにエスケープシンボル(\)+ 非エスケープ文字が含まれている場合、エスケープシンボルは削除されます。例4と5を参照してください。

Examples

  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" |
    +------------------+