zoukankan      html  css  js  c++  java
  • MySQL JSON 函数及判断空

    1. JSON_ARRAY_APPEND 

    给json列content 里的数组字段添加两个值A,B并删除值C :

     

    update TAB set content = JSON_ARRAY_APPEND(content,'$.types','A','$.types','B'),
    content =JSON_SET(content,'$.types',JSON_REMOVE(content->'$.types',JSON_UNQUOTE(JSON_SEARCH(content->'$.types', 'ONE', 'C'))))
    WHERE content->'$.types' like '%"C"%';
    SELECT JSON_REMOVE(content->'$.types',JSON_UNQUOTE(JSON_SEARCH(content->'$.types', 'ONE', 'C')))
    from TAB WHERE content->'$.types' like '%"C"%';

    2. JSON字段值提取: “->”  提取的值如果是字符串,会额外加上引号;“->>” 提取的值 ,会把原值取出,不含引号

     

    SELECT content->'$.email' from USER WHERE login = 'XXX';
    
    SELECT content->>'$.email' from USER WHERE login = 'XXX';

    3. JSON 中的null判断 :如果json不存在某个字段(如下: mail) ,用is null or isnull() 结果 是1 ; 如果json中存在某个字段(如下: email),但是值为null ,用 isnull 结果是0 , 用JSON_TYPE 可以判断值类型是不是  'NULL' 。

      

    SELECT content->'$.mail',content->'$.mail' is null from USER WHERE login = 'XXX';  --结果为 1 , 
    SELECT content->'$.email',JSON_TYPE(content->'$.email') = 'NULL'  from USER  WHERE login = 'XXX';  --结果为 1
  • 相关阅读:
    远景GIS云产品规划
    远景GIS云上线
    远景WEBGIS平台实现客户端SHP文件加载
    GIS平台结构设计
    一款基于HTML5的高性能WEBGIS介绍
    Git分布式工作流程
    Git服务器搭建
    Linux入门-9 软件管理基础(CentOS)
    Linux入门-8 Linux系统启动详解
    Linux入门-7 Linux管道、重定向以及文本处理
  • 原文地址:https://www.cnblogs.com/river2005/p/15754419.html
Copyright © 2011-2022 走看看