mysql支持json串模糊查询

一场景:在IM即时通讯服务中,实现了用户之间的聊天功能。其中有一张聊天记录库表设计如下,在content的字段中保存了用户之间的聊天信息记录。

content中的数据可能为纯文本、或多种格式的json串数据(前端需要解析展示):

​​

​​​​​​​

二需求:模糊匹配用户的聊天内容,实现只匹配用户输入的文字、推送信息中的页面显示出的信息。json串中不在界面中展示的一些字段例如:“id”、“oneId”属性值不参与模糊匹配。

#查询聊天记录 简单实现 json串非关键字段不进行匹配
SELECT

	chat_message.content
FROM
	chat_message 
WHERE
	( chat_message.message_type = 6 AND JSON_EXTRACT(json_remove( chat_message.content,'$.id','$.oneId'), '$.*' ) LIKE concat( "%", '用户输入的模糊匹配的值', "%" ) ) 

 三总结:mysql已经提供给我们进行json串类型数据处理的函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值