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