我想在我的表中检索具有与0不同的值的所有结果。 我有一个Varchar列,里面的值是0或字符串。 我想要检索所有非0的结果 我试过了
SELECT * FROM `book` `t` WHERE user_id= 62 AND payer != 0
SELECT * FROM `book` `t` WHERE user_id= 62 AND payer >= 0
我不明白为什么上面的查询会检索所有结果,包括付款人列中有0的onse
答案 0 :(得分:2)
引用0
。
SELECT * FROM `book` `t`
WHERE user_id= 62
AND payer <> '0'
否则,MySQL会尝试将您的列值转换为数字,以便与数字0
进行比较。但转化结果为0
,然后用户62
的所有记录都将匹配,因为0 = 0
答案 1 :(得分:0)
试试这个它会起作用......用引号:
SELECT * FROM `book` `t` WHERE user_id= 62 AND payer != '0'
如果您需要使用IS NULL