问题描述
我在以下查询中遇到一个奇怪的问题
grep "#\‘om"
结果
SELECT id,productIDs FROM discount_codes WHERE productIDs=0 ORDER BY productIDs DESC
id 149不为null或零,但作为结果返回
解决方法
将字符串与数字进行比较时,它将首先将字符串转换为数字。将字符串,11,4
转换为数字会产生0
,因为它不是以数字开头。
如果您要查找一个空字符串,请使用该字符串,而不要使用数字0
。
SELECT id,productIDs
FROM discount_codes
WHERE productIDs=''
如果您还想匹配一个明确的0
,请将其匹配为字符串而不是数字。
SELECT id,productIDs
FROM discount_codes
WHERE productIDs IN ('','0')