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

JSON_UNQUOTE

説明

この関数はJSON値のクォートを解除し、結果をutf8mb4文字列として返します。引数がNULLの場合、NULLを返します。

構文

JSON_UNQUOTE (<a>)

パラメータ

パラメータデスクリプション
<a>クォートを除去する要素。

Return Values

utf8mb4文字列を返します。特殊なケースは以下の通りです:

  • 渡されたパラメータがNULLの場合、NULLを返します。
  • 渡されたパラメータがダブルクォートを持つ値でない場合、値自体が返されます。
  • 渡されたパラメータが文字列でない場合、自動的に文字列に変換され、その後値自体が返されます。

以下の表に示すような文字列内のエスケープシーケンスが認識されます。その他すべてのエスケープシーケンスについては、バックスラッシュは無視されます。

Escape SequenceCharacter Represented by Sequence
"ダブルクォート (") 文字
\bバックスペース文字
\fフォームフィード文字
\n改行 (ラインフィード) 文字
\rキャリッジリターン文字
\tタブ文字
\バックスラッシュ () 文字
\uxxxxUnicode値XXXXのUTF-8バイト

Examples

SELECT json_unquote('"doris"');
+-------------------------+
| json_unquote('"doris"') |
+-------------------------+
| doris |
+-------------------------+
SELECT json_unquote('[1, 2, 3]');
+---------------------------+
| json_unquote('[1, 2, 3]') |
+---------------------------+
| [1, 2, 3] |
+---------------------------+
SELECT json_unquote(null);
+--------------------+
| json_unquote(NULL) |
+--------------------+
| NULL |
+--------------------+
SELECT json_unquote('"\\ttest"');
+--------------------------+
| json_unquote('"\ttest"') |
+--------------------------+
| test |
+--------------------------+
select json_unquote('"doris');
+------------------------+
| json_unquote('"doris') |
+------------------------+
| "doris |
+------------------------+
select json_unquote('doris');
+-----------------------+
| json_unquote('doris') |
+-----------------------+
| doris |
+-----------------------+
select json_unquote(1);
+-----------------------------------------+
| json_unquote(cast(1 as VARCHAR(65533))) |
+-----------------------------------------+
| 1 |
+-----------------------------------------+