哪里不相等
WHERE NOT EQUAL
我有以下 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。
问题
这个查询 return 没有行,当我期望它是 return 一行时,因为 s.conclusion
不是 DISCONTINUED
。
问题
如何对 return 所有不具有值 DISCONTINUED
的行执行 WHERE 子句?
您需要明确处理 NULL 值:
where s.conclusion <> 'DISCONTINUED' or s.conclusion IS NULL
Postgres 为这种情况提供了一个有用的运算符,它按预期处理 NULL 值。
where s.conclusion is distinct from 'DISCONTINUED'
我有以下 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。
问题
这个查询 return 没有行,当我期望它是 return 一行时,因为 s.conclusion
不是 DISCONTINUED
。
问题
如何对 return 所有不具有值 DISCONTINUED
的行执行 WHERE 子句?
您需要明确处理 NULL 值:
where s.conclusion <> 'DISCONTINUED' or s.conclusion IS NULL
Postgres 为这种情况提供了一个有用的运算符,它按预期处理 NULL 值。
where s.conclusion is distinct from 'DISCONTINUED'