【问题标题】:PostgreSQL: Select where timestamp is emptyPostgreSQL:选择时间戳为空的位置
【发布时间】:2011-05-27 10:41:25
【问题描述】:

我的查询如下所示:

SELECT * FROM table WHERE timestamp = NULL;

时间戳列是具有时区数据类型的时间戳(this 表中的第二种类型)。这是在 PostgreSQL 8.4 中。

我想要完成的是只选择没有插入时间戳的行。当我查看 pgAdmin 中的数据时,该字段为空且不显示任何值。我试过 where timestamp = NULL, 'EPOCH' (你会认为这是默认值),一个有效的零时间戳(0000-00-00 00:00:00-00,导致超出范围错误),可能的最低日期根据文档(January 1, 4713 BC)和一个空白字符串('',它只是得到一个数据类型不匹配错误)。似乎也没有 is_timestamp() 函数可用于检查结果是否不是有效的时间戳。

那么,问题是,我可以检查那个空字段中的什么值?

谢谢。

编辑:该字段没有默认值。

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    尝试timestamp is null,因为我在 MySQL 中使用此语法

    【讨论】:

    • 我认为他想要时间戳为 NULL 的位置(不是不),但是是的,没有什么可以等于 null,因为 null 是未知的。
    • 不,那只会选择所有时间戳。然而你无意中给了我答案:你需要使用timestamp IS NULLnot timestamp = NULL,所以谢谢。
    • 如果时间戳为空,这不会为我检索记录。
    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 2011-06-15
    • 2014-04-14
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多