JSON_UNQUOTE
更新时间:2025-10-16
描述
这个函数将去掉 JSON 值中的引号,并将结果作为 utf8mb4 字符串返回。如果参数为 NULL,则返回 NULL。
在字符串中显示的如下转义序列将被识别,对于所有其他转义序列,反斜杠将被忽略。
| 转义序列 | 序列表示的字符 |
|---|---|
| " | 双引号 " |
| \b | 退格字符 |
| \f | 换页符 |
| \n | 换行符 |
| \r | 回车符 |
| \t | 制表符 |
| \ | 反斜杠 \ |
| \uxxxx | Unicode 值 XXXX 的 UTF-8 字节 |
语法
SQL
1JSON_UNQUOTE (<a>)
参数
| 参数 | 描述 |
|---|---|
<a> |
要去除引号的元素。 |
返回值
返回一个 utf8mb4 字符串。特殊情况如下:
- 如果传入的参数为 NULL,返回 NULL。
- 如果传入的参数不是一个带有双引号的值,则会返回值本身。
- 如果传入的参数不是一个字符串,则会被自动转换为字符串后,返回值本身。
举例
SQL
1SELECT json_unquote('"doris"');
Text
1+-------------------------+
2| json_unquote('"doris"') |
3+-------------------------+
4| doris |
5+-------------------------+
SQL
1SELECT json_unquote('[1, 2, 3]');
Text
1+---------------------------+
2| json_unquote('[1, 2, 3]') |
3+---------------------------+
4| [1, 2, 3] |
5+---------------------------+
SQL
1SELECT json_unquote(null);
Text
1+--------------------+
2| json_unquote(NULL) |
3+--------------------+
4| NULL |
5+--------------------+
SQL
1SELECT json_unquote('"\\ttest"');
Text
1+--------------------------+
2| json_unquote('"\ttest"') |
3+--------------------------+
4| test |
5+--------------------------+
SQL
1select json_unquote('"doris');
Text
1+------------------------+
2| json_unquote('"doris') |
3+------------------------+
4| "doris |
5+------------------------+
SQL
1select json_unquote('doris');
Text
1+-----------------------+
2| json_unquote('doris') |
3+-----------------------+
4| doris |
5+-----------------------+
SQL
1select json_unquote(1);
Text
1+-----------------------------------------+
2| json_unquote(cast(1 as VARCHAR(65533))) |
3+-----------------------------------------+
4| 1 |
5+-----------------------------------------+
