我有item_ID列,里面有这个号码(1,2,3,4,5,6,7,8,9)。我现在正在运行此查询
SELECT * FROM `coupons` WHERE item_ID like '%17%'
仍在找行。如果解析了item_id,它应该找不到任何行17.我的查询有问题吗?
答案 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
,`等也可以在您的查询中找到。