繁体   English   中英

PostgreSQL 9.6。 检查字段是否为空

[英]Postgresql 9.6. Check if a field is empty

在Postgresql 9.6中,我有一个这样的表:

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值。

因此,我的目标是获取最后一个的False值。

有什么想法或想法吗?

先感谢您

第二个查询“失败”的原因是因为存在与EXISTS子句中的条件匹配的记录。 如果添加逻辑以也坚持在ADDRESS_2列中使用非NULL值,则应获得所需的行为:

SELECT EXISTS
    (SELECT ADDRESS_2 FROM my_table
     WHERE ADDRESS_1 = 'bac2' AND ADDRESS_2 IS NOT NULL);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM