我有一张这样的 table
ID Name IsDeleted
1 Yogesh Null
2 Goldy 1
现在当我运行这个查询
select *
from tableName
where IsDeleted <> 1
我应该得到
ID 1
记录,但我没有得到它,但是当我运行这个
select *
from tableName
where IsDeleted is null
我得到
ID 1
记录,为什么我面临这种行为?
NULL <> 1
不是 SQL 中的真实语句吗??IsDeleted
是带有 bit
的 Allow Null true
类型字段 最佳答案
select * from table
where COALESCE(IsDeleted, 0) <> 1
-- or ISNULL instead of COALESCE.
--ISNULL seems to be better in subqueries, but it's not ANSI SQL.
或者
select * from table
where IsDeleted <> 1 or IsDeleted IS NULL
关于sql - SQL 中的 <> 运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11329073/