Mysql 查询一个以逗号(,)分割的字符串,精确查找和模糊查询

Gabriel

需求描述

数据库有一个字段存储,一个商户下拥有的权限。每个有权限呢你,用逗号分隔符隔开。比如:service_code:"1,2,3,4,5,6,7,11,12,9,10,8",我需要查询商户下 service_code 含有 8 的商户。


尝试 like

用 like 模糊查询,这样会把 含有 8 的所有数据都查出来,数据不准确。
image.png

尝试用 find_in_set 函数

用 find_in_set 能够准确查出 service_code 中含有 8 这项
image.png

尝试用 mysql 的正则表达式

mysql 的正则表达式也能够查询出来,特别对于,查询条件是商品名称,商品名称呢是以逗号分割的多个关键字组成。如:goods_desc : "苹果,苹果摄像头,appple"
image.png

#### 尝试用 mysql 的LOCATE 函数
这个函数,会把你查询出含有查找内筒的数据
image.png

相关文章
  1. https://blog.csdn.net/qq_3676...
  2. https://blog.csdn.net/qq_3676...
阅读 3.1k
24 声望
1 粉丝
0 条评论
24 声望
1 粉丝
宣传栏