不等于字符串值在 postgreSQL 上不起作用

Arj*_*jun 3 postgresql

我写了一个非常简单的查询

select *, "Status" from "ABC" WHERE "ABCId" = 7; // Got 100 rows
Run Code Online (Sandbox Code Playgroud)

ABC 表有一些列,其中一列是“状态”,空值通常显示为 (Null)

当我尝试这些查询时

-- 1
select * FROM "ABC" where "ABCId" = 7 AND "Status" <> 'success'

-- 2
select * FROM "ABC" where "ABCId" = 7 AND "Status" != 'success'

-- 3
select * FROM "ABC" where "ABCId" = 7 AND "Status" NOT ILIKE '%success%'
Run Code Online (Sandbox Code Playgroud)

我没有得到任何行,我很头疼,这是一个简单的查询:/

小智 9

您可以使用空安全比较运算符 is distinct from

and "Status" is distinct from 'success'
Run Code Online (Sandbox Code Playgroud)

对于空值也是如此。