解决mysql查询,in条件参数为带逗号的字符串,查询结果错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决mysql查询,in条件参数为带逗号的字符串,查询结果错误相关的知识,希望对你有一定的参考价值。

参考技术A 如有以下sql:

T1.limit_user 为account表中查询出来的值

‘9,8,4’
查询sql正确查询结果应为:
不可推荐 ,推销客户,推销客户
实际结果为:
不可推荐
原因:
mysql中in里面如果是字符串的话,会自动转化成int类型的,内部使用了如下方法: CAST('4,3' AS INT)
导致’4,3‘ 变成了4,所以上述查询sql结果只有第一个。

解决方案
FIND_IN_SET('查询的值(如:1)', '使用逗号隔开的字符串集合,如:('1,2,3')')
正确的sql

以上是关于解决mysql查询,in条件参数为带逗号的字符串,查询结果错误的主要内容,如果未能解决你的问题,请参考以下文章

finereport参数查询问题:查询条件中含有多个参数时怎么处理?例如where city_name in ()

IN 运算符的逗号分隔参数,MySQL

Where子句Mysql中的逗号分隔字符串参数过滤器

MYSQL 查询语句中in的用法

mysql查询某数字在某字段以逗号隔开的字符里面

MySql知识点整理