mysql 查询数字是否包含在字符串中

例如表t1中有个字段A的值为字符串,字符串格式为以逗事分隔的数字,例如:值1:2,5,23,85,118值2:6,9,12,185值3为:85,36值4:85值5:9,8... 例如表t1中有个字段A的值为字符串,字符串格式为以逗事分隔的数字,例如:
值1:2,5,23,85,118 值2:6,9,12,185 值3为:85,36 值4:85 值5: 9,85
当查询85是否包含在字段A中时,返回值1 、值3、值4,值5,但不返回值2
SQL语句怎么写。不知道除了用like可以实现外,有没有其它效率更高的方法。
展开
 我来答
阳光上的桥
推荐于2018-03-11 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
mysql有专门的函数实现你需要的功能:

FIND_IN_SET(str,strlist)
如果字符串str在由N子串组成的表strlist之中,返回一个1到N的值。一个字符串表是被“,”分隔的子串组成的一个字符串。如果第一个参数是一个常数字符串并且第二个参数是一种类型为SET的列,FIND_IN_SET()函数被优化而使用位运算!如果str不是在strlist里面或如果strlist是空字符串,返回0。如果任何一个参数是NULL,返回NULL。如果第一个参数包含一个“,”,该函数将工作不正常。
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
返回值2
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式