【问题标题】:Postgresql 9.6. Check if a field is emptyPostgreSQL 9.6。检查字段是否为空
【发布时间】:2018-02-19 01:48:47
【问题描述】:

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

有什么想法或想法吗?

提前谢谢你

【问题讨论】:

    标签: sql postgresql select exists


    【解决方案1】:

    第二个查询“失败”的原因是因为有一条记录与EXISTS 子句中的条件匹配。如果您添加逻辑以在 ADDRESS_2 列中也坚持非 NULL 值,您应该得到您想要的行为:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多