如何在 PostgreSQL SQL 查询中使用 !=
过滤 SQL 结果?示例
SELECT * FROM "A" WHERE "B" != 'C'
工作。但它也过滤了所有 "B"IS NULL
的记录。当我将查询更改为:
SELECT * FROM "A" WHERE "B" != 'C' OR "B" IS NULL
我得到了正确的结果。哦。总是,当我需要使用 !=
时,我还需要检查 OR "field"IS NULL
?真的吗?
在 Sequelize 中不舒服:{ B: { $or: [null, { $not: 'C' }] } }
,而是:{ B: { $not: ' C'}}
:(
最佳答案
您可以使用“空安全”运算符 is distinct from
而不是 <>
SELECT *
FROM "A"
WHERE "B" is distinct from 'C'
http://www.postgresql.org/docs/current/static/functions-comparison.html
您还应该避免使用带引号的标识符。他们比他们值得的麻烦多得多
关于postgresql - 在 Postgres 中不等于和空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36508815/