在表中json格式的数据中查询

遇到一个需求,在搜索栏增加一个是否虚拟仓查询的功能, 但是看了表之后发现没有虚拟仓的字段,目标数据都在content字段中的json数据中。
(搜索栏)
在这里插入图片描述
(数据库数据)
在这里插入图片描述
我这笨脑瓜想不出什么方法,请教了下老大,得知可以直接用like查询
sql语句如下:

 select * from `rules_delivery` where content like '%"if_warehouse":"1"%';

在这里插入图片描述
至于怎么把sql写在代码中,看使用框架与写法,我这里以tp5为例:

 //是否虚拟仓
 if ($p_if_warehouses === 0) $where['content'] = ['like', '%"if_warehouse":"0"%'];
 if ($p_if_warehouses === 1) $where['content'] = ['like', '%"if_warehouse":"1"%'];

我这里查询全部的时候会传’ ',所以用了===判断,直接like匹配json中对应的数据,实测查询速度并不算慢, 也可能是数据量小,大佬们有更好的方式可以分享一下。

最后,祝大家节日快乐,注意身体.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值