mySQL Like语句不能作为输出所需

时间:2016-12-20 10:21:21

标签: mysql

我有item_ID列,里面有这个号码(1,2,3,4,5,6,7,8,9)。我现在正在运行此查询

SELECT * FROM `coupons` WHERE item_ID like '%17%'

仍在找行。如果解析了item_id,它应该找不到任何行17.我的查询有问题吗?

更新 enter image description here

1 个答案:

答案 0 :(得分:0)

以下是LIKE的使用方式:http://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html

我认为你的item_ID是某种数字类型,对吗? 因此,您可以使用=运算符:

如果真的是varchar(由于性能问题我不建议使用标识符变量),你可以使用:

SELECT * FROM coupons WHERE item_ID = '17';

如果要查找包含子字符串17的ID,那么您的查询就可以了。

如果你在这个字段中有一个逗号分隔的ID列表作为字符串(我做推荐)你应该试试这个:

SELECT * FROM coupons WHERE item_ID LIKE '%,17,%' OR item_ID LIKE '%,17' OR item_ID LIKE '17,%' ;

检查该itme_ID字段的内容。 <{1}},117,`等也可以在您的查询中找到。