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

文章介绍了在SQL查询时处理JSON数据字段中的双引号问题,提供了四种方法,包括使用TRIM函数去除双引号、通过JSON_UNQUOTE函数以及->>操作符来获取不带引号的值。这些方法适用于对JSON对象的属性进行查询和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

请各大网友尊重本人原创知识分享,谨记本人博客:南国以南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记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!
参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值