MYSQL Null issues



我有一个简单的DB查询。基本上,我想选择不等于某个字符串集的所有行,或者是空的(如果它是空的,我不希望它被选中)。

这就是我所拥有的:

select * from tbl_user where secretCode != ('S00' OR 'S05' OR 'A10' OR '')

secretcode的数据类型为CHAR(4), NULL (NO), DEFAULT NONE

我做错了什么,我应该使用NULL而不是''吗?

谢谢。

我认为您的查询应该是这样的:

select * from tbl_user where secretCode NOT IN ('S00', 'S05', 'A10', '') AND
secretCode IS NOT NULL
select 
    * 
from 
    tbl_user 
where 
    secretCode not in ('S00', 'S05', 'A10') and secretCode not is null

应使用is nullnot is null检查NULL

您应该根据此处的使用IS NOT NULL运算符

SELECT * FROM `tbl_users`
WHERE `secretCode` != ('S00' OR 'S05' OR 'A10') AND `secretCode` IS NOT NULL

使用:

SELECT * FROM `tbl_users` WHERE `secretCode` <> ('S00' OR 'S05' OR 'A10') AND `secretCode` IS NOT NULL

最新更新