PostgreSQL 9.6。检查字段是否为空
Postgresql 9.6. Check if a field is empty
在 Postgresql 9.6 中,我有一个 table 这样的:
ID ADDRESS_1 ADDRESS_2
1 bac1 def2
2 bac2
如果我执行这个
SELECT exists (SELECT ADDRESS_2 FROM my_table WHERE ADDRESS_1='bac3');
我得到错误答案(预期)
但是,如果我执行这个
SELECT exists (SELECT ADDRESS_2 FROM my_table WHERE ADDRESS_1='bac2');
我得到正确的答案(没想到)
我估计是因为有一个Null值。
所以我的objective是为最后一个获取False值。
有什么想法或想法吗?
提前致谢
第二个查询之所以是"failing"是因为EXISTS
子句中有符合条件的记录。如果您添加逻辑以在 ADDRESS_2
列中也坚持非 NULL
值,您应该得到您想要的行为:
SELECT EXISTS
(SELECT ADDRESS_2 FROM my_table
WHERE ADDRESS_1 = 'bac2' AND ADDRESS_2 IS NOT NULL);
在 Postgresql 9.6 中,我有一个 table 这样的:
ID ADDRESS_1 ADDRESS_2
1 bac1 def2
2 bac2
如果我执行这个
SELECT exists (SELECT ADDRESS_2 FROM my_table WHERE ADDRESS_1='bac3');
我得到错误答案(预期)
但是,如果我执行这个
SELECT exists (SELECT ADDRESS_2 FROM my_table WHERE ADDRESS_1='bac2');
我得到正确的答案(没想到)
我估计是因为有一个Null值。
所以我的objective是为最后一个获取False值。
有什么想法或想法吗?
提前致谢
第二个查询之所以是"failing"是因为EXISTS
子句中有符合条件的记录。如果您添加逻辑以在 ADDRESS_2
列中也坚持非 NULL
值,您应该得到您想要的行为:
SELECT EXISTS
(SELECT ADDRESS_2 FROM my_table
WHERE ADDRESS_1 = 'bac2' AND ADDRESS_2 IS NOT NULL);