添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我们的数据库中经常会遇到很多JSON的字段,自己写的也好,别人写的也好。一般我们取这个值的话,会创建一个typeHandler来取值。那么如果我们想直接取到JSON里的值该怎么办呢?其实很简单,SQL自带的函数就可以解决。
假如现在有一个字段叫 detial ,字段内容如下:

{"name":"Bruce","age":24,"gender":"男"}

那么我们取出name的话,写法如下:

select JSON_EXTRACT(detail, '$.name') from ...;

这样就可以直接取到JSON中的值了。
但这样取值有一个问题,就是取出来如果是字符串,字符串的两边会带有双引号。那么去掉双引号也很简单。写法如下:

select JSON_UNQUOTE(JSON_EXTRACT(detail, '$.name')) from ...;
# 感谢【qq_40756282】同学的贡献

即可取出我们要的名字。
如果是嵌套JSON的话,只需要加“.”即可,比如有一个字段detail,内容如下:

{"name":"Bruce","age":24,"gender":"男","favorite":{"read":"《时间简史》","sport":"双截棍"}}

要取出最喜欢的运动的话,像下面这样写就可以了:

select JSON_UNQUOTE(JSON_EXTRACT(detail, '$.favorite.sport')) from ...;

喜欢本文的朋友不要忘记点一个免费的赞哦,你的赞将是我最大的动力。

lsc.f_fee_json, lsc.f_fee_json -> '$.GUARANTEE_FEE.amount' AS f_guarantee_fee, lsc.f_fee_json -> '$.CONSULTING_SERVICE_FEE.amount' AS f_consulting_service_fee, lsc.f_fee_json -> '$.SERVICE_FEE.amount' AS f_service_fee t_lsc_repa.
json格式字段long型日期因数据统计的需求,笔者需要编写一条sql,用于在tbl_user_info表某个json数据格式字段姓名、时间等信息,该字段名为data_jsonjson数据格式如下: id-自增编号 name-字符串 createdate-long型时间戳 数据示例:{“id”:12859701,”name”:”小编”,”createdate”:132014009
项目半夜凌晨宕机,报错Invalid character found in method name. HTTP method names must be tokens|the HTTP protoco 70767 代码中发送http请求, java.lang.IllegalArgumentException: Illegal character in query at index...,非法字符错误解决办法 64461 好累!iTunes安装不上,UNKNOW\Components...,以及注册表“注册表编辑器无法在当前所选的项及其部分子项上设置安全性”,注册表某项打不开、删不掉,所有问题,都在此终结! 29782 siliren: 因为spring cacle注解使用aop实现的,实际上调用的是动态代理的方法。因为调用内部方法是有this的, 在生成代理类后,this就指向原对象了,而不会调用生成的代理对象的方法。 所以在同一个类调用加了缓存注解的方法会失效 JeecgBoot/SpringBoot之Swagger漏洞修复:/actuator、/v2/api-docs禁止访问 CSDN-Ada助手: Java 技能树或许可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java SpringBoot+MyBatis+Nacos配置多数据源,MySQL和Redis多数据源怎么配置 Counter-Strike大牛: 来贴个原文地址瞧瞧 SpringBoot+MyBatis+Nacos配置多数据源,MySQL和Redis多数据源怎么配置 Simon_Kirito: 用别人的还要关注你才能阅读,CSDN真幽默 Win10锁屏之后屏幕自动关闭怎么办 Counter-Strike大牛: 都是电源相关的一些设置