postgresql - 在 Postgres 中不等于和空

标签 postgresql

如何在 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/

相关文章:

postgresql - 将具有重复项的表拆分为 2 个标准化表?

postgresql - Postgres encode() 函数不适用于函数作为参数

postgresql 采取时区更改,直到重新启动服务

postgresql - Postgres : syntax error creating index using prgm GIN

postgresql - 为每个 ID 选择最大值(包括一个 ID 有多个最大值的可能性!)

postgresql - 用于 PostgreSQL 数据包的良好数据包处理 Java 库?

windows - 在PostgreSQL中,输入密码后按Enter键,为什么命令行窗口消失了?

regex - 对 postgres 列使用 split_part 和正则表达式

sql - order by in view是否保证select的顺序?

django - 在 Django/PostgreSQL 搜索结果页面上突出显示搜索词