模糊匹配数据库中的json字段
来源:互联网 发布:喀秋莎录屏软件范例 编辑:程序博客网 时间:2024/04/29 22:40
背景:
有这样一个数据表user,其包含一个字段extra,用于保存用户额外的信息(比如邮箱、电话、描述等)
这些信息是以json格式进行保存,比如{“email”:”wq@163.com”,”phone”:”1234567”,”descrption”:”user info”}
现在需要按照email进行模糊查询,如何写sql?
解决方法:
方法一、使用数据库自带的json_extract函数
SELECT * from USER u where json_extract(u.extra,”$.email”) like ‘%?%’
其中?处就是需要模糊匹配的内容。
json_extract(u.extra,”$.email”) 就可以得到extra字段中的email值
注意:数据库使用mysql 5.7.18 实际情况看是否支持json_extract函数
方法二、使用正则表达式
SELECT * from USER u where u.extra regexp ‘“email”: “[^”]?[^”]’
因为我们要匹配“email”:”wq@163.com” 这块内容,不能匹配后面的部分。
[^”]*表示0个或多个字符,意思就是匹配的内容前后可以包含任意个字符,只要没有“就OK。
阅读全文
0 0
- 模糊匹配数据库中的json字段
- 匹配mongodb数据库中的字段
- 匹配所有字段模糊查询
- redis 删除 模糊匹配字段
- 数据库查询模糊匹配
- jquery中的模糊匹配
- 正则表达式中的模糊匹配
- SQL 中的模糊一一匹配
- 数据库中的模糊查询
- oracle中的截取,模糊匹配小结
- jquery中的模糊匹配查找标签
- python 在MySQL中的模糊匹配
- thinkphp中的多字段模糊匹配
- 触发器及存储过程 同时增删模糊匹配字段
- Mybatis多个字段模糊匹配同一个值
- C#: list 中字段的模糊查找匹配实现
- MongoDB-MongoTemplate之模糊匹配多个字段
- Qt中的模糊匹配QCompleter和自动匹配
- 一些Java编程上的小细节
- 给计算器写白盒测试用例Test case
- dpdk加速网络协议栈ANS,单core路由转发+1000条ACL 64字节达到8.43Mpps
- 2017/11/23
- ConcurrentHashMap
- 模糊匹配数据库中的json字段
- 11月22日云栖精选夜读:双11享Go了吗?2017阿里双11在线峰会续写科技盛宴!
- Android冷启动LaunchActivity部分
- linux中提示没有unzip命令解决方法
- mt2503 软件互相升级出现100% Restore失败问题定位
- sizeof 和 strlen 的区别(举例说明)
- 事务的ACID特性。
- 13.变量声明
- android开发过程中将json日期字符串,转换成JAVA中Date类型格式化字符串