JSON_QUOTE
説明
入力文字列パラメータを二重引用符で囲み、文字列内の特殊文字と制御文字をエスケープします。この関数の主な目的は、文字列を有効なJSON文字列に変換することです。
特殊文字には以下が含まれます:
- 引用符(
") - バックスラッシュ(
\) - バックスペース(
\b) - 改行(
\n) - 復帰文字(
\r) - 水平タブ(
\t)
制御文字には以下が含まれます:
CHAR(0)は\u0000としてエスケープされます
構文
JSON_QUOTE (<str>)
パラメータ
<str> String型、クォートされる値。
Return Value
ダブルクォートで囲まれた文字列を返します
Usage 注釈
- パラメータがNULLの場合、NULLを返します。
- パラメータにエスケープシンボル(
\)+ 非エスケープ文字が含まれている場合、エスケープシンボルは削除されます。例4と5を参照してください。
Examples
-
ダブルクォートはエスケープされます
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" |
+------------------+