MySQL不返回零列为零

时间:2020-08-11 21:04:37

标签: mysql sql null

我在以下查询中遇到一个奇怪的问题

grep "#\‘om"

结果

SELECT id, productIDs FROM discount_codes WHERE productIDs=0 ORDER BY productIDs DESC

id 149不为null或零,但作为结果返回

enter image description here 谁能告诉我这怎么发生的??

1 个答案:

答案 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')
相关问题