select version()
-- 5.7.43-log
1.数据准备
create table tmp_eg as
select *
from
(select John as name,30 as age, chongqing as city
union all
select Tomi as name,27 as age, nanchang as city
union all
select nuna as name,29 as age, hunan as city
) t1
;

2.json_object()
接受一个键值对(可以为空)列表,并返回一个包含这些键值对的JSON对象 如果参数数量为奇数,则会发生报错

3.json_array()
接受一个值列表(可能为null),并返回一个包含这些值的json数组

4.json_type(json_val)
获取json类型 返回 json 值的类型。 如果参数不是有效的json值,则会出现错误

5.json_length()
如果是数组,其长度为数组元素的个数,如果是对象,其长度为对象元素的个数

6.json_extract()
函数可以用于提取json对象或数组中的特定部分。
它接受两个参数:json列和json路径


7.json_unquote(json_val)
将json 转义成字符串输出。常用于使用json_extract()和->函数解析完之后,去除引号

8.json_quote(string)
生成有效的 json 字符串,主要是对一些特殊字符(如双引号)进行转义
9.json_keys()
获取keys 返回 json 文档最外层的 key,如果指定了 path,则返回该 path 对应元素最外层的 key

10.json_set()
插入并替换 如果指定位置或指定 key 的值不存在,会执行插入操作,如果存在,则执行更新操作

11.json_table()
JSON_TABLE(expr, path COLUMNS (column_list) [AS] alias)
从 JSON 中提取数据并以表格的形式返回
5.7好像不支持
select *
from
(select
json_object( name ,name, age ,age, city ,city) as json
from tmp_eg
) t1,
json_table(
json,
$[*]
columns (value varchar(255) path $ )
) as jt
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...