MySQL自5.7之后开始支持json类型,相应的解析函数主要是json_extract();
查询sql版本:select version();

JSON_EXTRACT()函数用于从JSON中提取元素,例如:
列名:info
{"Info1":[[{"id":1,"name":"aaa","grade":["{\"china\":100,\"engine\":[\"95\"],\"match\":[\"99\"]}"]}]]}

select json_extract(info, '$.Info1') from table1;
[[{"id":1,"name":"aaa","grade":["{\"china\":100,\"engine\":[\"95\"],\"match\":[\"99\"]}"]}]]

select json_extract(info, '$.Info1[0][0]') from table1; 
{"id":1,"name":"aaa","grade":["{\"china\":100,\"engine\":[\"95\"],\"match\":[\"99\"]}"]}

如果要对解析过后的json继续解析,则在上一步基础上嵌套json_extract()
select json_extract(json_extract(info, '$.Info1[0][0]'),'$.grade[0]') from table1;
{"china":100,"engine":["95"],"match":["99"]}

--------------------------------------------------------------------------------
json_extract的等效操作符是->;
json_unquote(json_extract())的等效操作符是->>;

--------------------------------------------------------------------------------

用法解析
‘$.*’                返回全部json
‘$.title’                返回key=”title”的数据
‘$**.text’                返回所有最底层key=”text”的数据
‘$.content[*].item1[*]’        返回key=content的list的key=item1的list的所有内容

--------------------------------------------------------------------------------
与其它数据库的类似函数(如oradle的json_value)相比,当json的值是字符类型时,json_extract的结果略有不同。
在MySql中,是这样的:

而在Oracle中,是这样的:

可见,差别在于MySql的json_extract的返回值会带上两个双引号。
而当json的值是数值型时,没有差别。

为保持各种情况下的一致,在MySql中要解析json,还需再加上json_unquote函数以去掉双引号:

sql解析json字段相关推荐

  1. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  2. sql解析json格式字段、sql关联json格式字段,mysql解析json、sql解析json字符串

    sql解析json格式字段.sql关联json格式字段,mysql解析json.sql解析json字符串 sql解析字符串 sql关联json中的某个字段 sql解析字符串 表名user_login ...

  3. sql解析json数组

    1.记录一下最近遇到的利用SQL解析Json数组的问题. 样例:该Json数组存储在字段名为:productInfo 的字段中. [{"product_id":"001& ...

  4. Hive sql解析json格式

    ** hive sql解析json格式 /*方法一: select regexp_extract(input_data,'app_id\\":\\"(.*?)\\"',1 ...

  5. oracle解析json格式字段,sql解析json格式字段

    java将json数据解析为sql语句? 图片中是json数据,每个数据的开头都有表名称,操作类型,后面是数据,import java.util.Iterator;import java.util.S ...

  6. Hive解析json字段,虽然json_tuple写法很优雅,但是效率并不一定高哦

    在写Hive SQL时,需要从一个json列中解析出多个key的信息,查阅资料发现到有两种写法,一种是get_json_object,另外一种是json_tuple.两种用法的示例如下所示 get_j ...

  7. hive json 获取_hive sql 解析json

    在hive中会有很多数据是用json格式来存储的,而我们用数据的时候又必须要将json格式的数据解析成为正常的数据,今天我们就来聊聊hive中是如何解析json数据的. 下面这张表就是json格式的表 ...

  8. Hive中解析Json字段、json日志分析所用到的嵌套json解析

    首先在百度搜索,json格式解析,将这段话变个格式看起来舒服. 然后,通过通过嵌套使用json函数解决.大概就是将内层的json字段当作一个整体,然后先将这个外层作为解析.在通过子查询使用方法,在外套 ...

  9. sql解析json oracle,oracle 11g plsql解析json数据示例1

    以下存储过程将数据库表中的clob类型字段(存储的内容为对应Json格式数据)读取出来,对其解析,进行相关业务操作 CREATE OR REPLACE PROCEDURE xq_midso_gen(p ...

最新文章

  1. 根据某一列的进行去重的小工具----duplicated.exe
  2. mysql 1455_关于Oracle 11g导出数据时 报 ORA-1455错误的处理
  3. bzoj千题计划219:bzoj1568: [JSOI2008]Blue Mary开公司
  4. 串口调试助手-打开报错
  5. 计算机网络-基本概念(1)【网络层】-ARP协议以及数据传输过程
  6. w3ctech 2011 北京站(组图)
  7. solr的空间查询(查询地图周围坐标)
  8. JAVA编程思想读书笔记(三)--RTTI
  9. java配置环境及安装
  10. openwrt nas_NAS里整个软路由
  11. 我发现Facebook Messenger漏洞可使安卓用户互相监听,获奖6万美元
  12. MySQL DBA的KPI考核指标有哪些
  13. 大数据练习环境部署(3) - Hadoop集群部署
  14. proxmox PVE 安装 黑群晖
  15. 上市公司财务报告的那点事(4):我的选股策略和实际投资组合
  16. 修改csr_matrix的值
  17. JavaScript函数
  18. 大学生数学竞赛教程【蒲和平】
  19. 最短路——【模板】单源最短路径(弱化版)(dijkstra)
  20. 接口 使用 Excel

热门文章

  1. 8.18 B组 T1 分火腿
  2. Matplotlib复习(1)——绘制三角函数曲线、正态分布曲线、圆锥曲线、极坐标方程(心形线、玫瑰线、阿基米德螺线)、3D图(球、马鞍面)
  3. 快速查找IP地址所属范围
  4. 农学跨计算机考研难吗,农学跨专业考研难度如何
  5. Nginx反向代理,负载均衡,Redis集群 Twemproxy,redis session共享,keepalived高可用-搭建千万级网站系统
  6. 论文翻译4-LiveSRVC
  7. java 椭圆焦点 求是否在圆内_找到一个点到椭圆的距离,在椭圆的内部或外部
  8. Ladder Net 学习笔记
  9. 网页设计期末作业 使用HTML制作静态宠物网站——蓝色版爱宠之家(HTML CSS)
  10. MySQL安装教程(压缩包方式)