SQL语句中对json数据的操作

1.获取指定json字符串中指定的属性值,以下三种写法等价:
attributes_json字段的值为一个json字符串,下面的语句都是获取attributes_json中的key属性的值
json_extract()方法获取json中指定的值,格式: json_extract(json_field,'$.key')

1) json_extract(attributes_json,'$.key')
2) attributes_json->'$.key'

可以有两个尖括号

3) attributes_json->>'$.key'

2.去掉查询结果中首尾的双引号 json_unquote() 如:

select * from t1 where attributes_json->'$.age'=24 AND attributes_json->'$.name'='zhan'

表中attributes_json值为一个json字符串上面的条件中,attributes_json->'$.age'=24 含义为attributes_json 字段中age属性的值等于24

select json_unquote(json_extract(attributes_json,'$.key')) as column_value from t_demand_point where face_id=216