我有这个PostgreSQL表,测试:
a | b | c | d
---+---+---+---
5 | | 5 | 7
5 | 6 | |
1 | 2 | 3 |
我想查询b值不为NULL的所有元组:
SELECT * FROM test WHERE b != NULL;
SELECT * FROM test WHERE b <> NULL;
这两个命令都没有返回记录:
a | b | c | d
---+---+---+---
(0 rows)
我应该使用什么命令来选择具有b值的所有元组?
答案 0 :(得分:2)
IS NOT NULL
使用此命令:
SELECT * FROM test WHERE b IS NOT NULL;
结果是:
a | b | c | d
---+---+---+---
5 | 6 | |
1 | 2 | 3 |
(2 rows)
谓词IS NULL
和&amp; IS NOT NULL
是标准SQL(Wikipedia)。因此,他们在Postgres以及其他合规数据库中工作。