【问题标题】:Postgresql timestamp and NULL differencePostgresql 时间戳和 NULL 的区别
【发布时间】:2013-05-19 04:39:57
【问题描述】:

我是 PostgreSQL 的新手。我有一个名为FailureTime 的没有时区的列时间戳。一开始它有NULL值。

SELECT 时,我需要获取所有具有current_timestamp - FailureTime > interval '7' 的条目。

但是当FailureTime 为NULL 时,运算结果为NULL。 我可以将 NULL 转换为 ZERO 值还是以某种方式得到 current_timestamp 作为操作的结果?

【问题讨论】:

  • 为什么不在“WHERE”子句中添加FailureTime IS NOT NULL

标签: postgresql datetime null timestamp


【解决方案1】:

您可以通过指定以下内容来排除 NULL 元素:

SELECT ... 
WHERE (FailureTime IS NOT NULL) 
AND (current_timestamp - FailureTime > interval '7')

【讨论】:

    【解决方案2】:
    current_timestamp - coalesce(FailureTime, current_timestamp) > interval '7'
    

    【讨论】:

      猜你喜欢
      • 2014-04-14
      • 2012-02-29
      • 2011-12-14
      • 1970-01-01
      • 2015-09-30
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多