JSON_UNQUOTE
説明
この関数はJSON値のクォートを解除し、結果をutf8mb4文字列として返します。引数がNULLの場合、NULLを返します。
構文
JSON_UNQUOTE (<a>)
パラメータ
| パラメータ | デスクリプション |
|---|---|
<a> | クォートを除去する要素。 |
Return Values
utf8mb4文字列を返します。特殊なケースは以下の通りです:
- 渡されたパラメータがNULLの場合、NULLを返します。
- 渡されたパラメータがダブルクォートを持つ値でない場合、値自体が返されます。
- 渡されたパラメータが文字列でない場合、自動的に文字列に変換され、その後値自体が返されます。
以下の表に示すような文字列内のエスケープシーケンスが認識されます。その他すべてのエスケープシーケンスについては、バックスラッシュは無視されます。
| Escape Sequence | Character Represented by Sequence |
|---|---|
| " | ダブルクォート (") 文字 |
| \b | バックスペース文字 |
| \f | フォームフィード文字 |
| \n | 改行 (ラインフィード) 文字 |
| \r | キャリッジリターン文字 |
| \t | タブ文字 |
| \ | バックスラッシュ () 文字 |
| \uxxxx | Unicode値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 |
+-----------------------------------------+