我有一个简单的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 null
或not 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