头图

MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty

  1. json_keys:获取json对象的key值组成的数组
  2. json_object:创建一个json对象
  3. json_overlaps:对比的俩个json有相同的键值对或者数组元素即可
  4. json_pretty:格式化json,符合人类的阅读习惯
  5. json_quote:将字符串引用为json值,换句话说就是把字符串处理成为带双引号的值
  • 数据表

json_keys

获取json对象中的key值组成的数组
  • 例一
    select json_keys(info) from member;

json_object

创建json对象,配合json_contains使用可以很好的进行查询
  • 例一
    select * from member where json_contains(info, json_object('age', 27));

    说明:json_object组成{"age":27},查询info中是否有这个键值对

json_overlaps

对比俩个json,如果有一个键值对或者数组元素则返回true,否则返回false
  • 例一
    select * from member where json_overlaps(info, '{"sex":1,"age":27}');

    info{"sex":1,"age":27}有相同的键值对{"age":27}

json_pretty

格式化json,用处不大,主要是查询出符合人类阅读的格式
  • 例一
    select json_pretty(info) from member where id = 1;

    我是没有想到这个函数有什么使用场景

json_quote

将字符串引用为json值,也就是把字符串转为带双引号的字,跟json_unquote相反
  • 例一
    select json_quote(info) from member;

    没有发现有什么使用场景

留言

点击留言


一梦千年
16 声望1 粉丝

学历只是过去,学习决定未来。