MySQL 针对JSON类型字段数据进行提取和查询


前言

请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i


提示:以下是本篇文章正文内容,下面案例可供参考

背景:

当我们使用SQL查询时,想对数据字段中JOSN串进行特殊处理,以下为简单列举

#使用函数查询:JSON_CONTAINS(字段,JSON_OBJECT('json属性', '内容'))
select JSON_EXTRACT(password, '$.applCde') as applCde,JSON_EXTRACT(password, '$.applyAmt') as applyAmt from user where id='9'

#使用 json字段名->’$.json属性’ 进行查询条
select password->'$.applCde' as applCde,password->'$.applyAmt' as applyAmt from user where id='9'

查询

JSON数据双引号处理

平常的json数据在查询出来的时候 是有双引号的

第一种:

#使用`TRIM函数`去除双引号之后
select TRIM(BOTH '"' FROM JSON_EXTRACT(password, '$.applCde')) as applCde,JSON_EXTRACT(password, '$.applyAmt') as applyAmt from user where id='9'

第一种

第二种:

select TRIM(BOTH '"' from `password`->'$.applCde') as num from user WHERE id='9'

第二种

第三种:

#通过JSON_UNQUOTE 获取的json数据是不带双引号的
select JSON_UNQUOTE(`password`->'$.applCde') as num FROM user where id='9';

第三种

第四种:

select `password`->>'$.applCde' as num from user where id='9'

第四种

总结

我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!
参考链接