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

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

MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty_第1张图片

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

json_keys

获取json对象中的key值组成的数组
  • 例一
    select json_keys(info) from member;
    MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty_第3张图片

json_object

创建json对象,配合json_contains使用可以很好的进行查询
  • 例一
    select * from member where json_contains(info, json_object('age', 27));
    MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty_第4张图片
    说明:json_object组成{"age":27},查询info中是否有这个键值对

json_overlaps

对比俩个json,如果有一个键值对或者数组元素则返回 true,否则返回 false
  • 例一
    select * from member where json_overlaps(info, '{"sex":1,"age":27}');
    MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty_第5张图片
    info{"sex":1,"age":27}有相同的键值对{"age":27}

json_pretty

格式化json,用处不大,主要是查询出符合人类阅读的格式
  • 例一
    select json_pretty(info) from member where id = 1;
    MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty_第6张图片
    我是没有想到这个函数有什么使用场景

json_quote

将字符串引用为json值,也就是把字符串转为带双引号的字,跟 json_unquote相反
  • 例一
    select json_quote(info) from member;
    MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty_第7张图片
    没有发现有什么使用场景

留言

点击留言

你可能感兴趣的:(mysql)