-1

我有以下 SQL 语句:

select s.conclusion, t.* from trip t 
JOIN triprequirementsmapping m ON m.tripid = t.trip_id
JOIN approvalsubmission s ON s.requested = m.corporatetravelrequesturi
where s.conclusion <> 'DISCONTINUED'

s.conclusion对于此示例, 的值为 null。

问题

当我希望它返回一行时,此查询不返回任何行,因为s.conclusionis not DISCONTINUED

问题

如何执行 WHERE 子句以返回所有没有值的行DISCONTINUED

4

1 回答 1

5

您需要明确处理 NULL 值:

where s.conclusion <> 'DISCONTINUED' or s.conclusion IS NULL

Postgres 为这种情况提供了一个有用的运算符,它可以按预期处理 NULL 值。

where s.conclusion is distinct from 'DISCONTINUED'
于 2020-07-29T08:36:49.447 回答