【问题标题】:How to convert ingresdate to timestamp (time elapsed since 1970)?如何将 ingresdate 转换为时间戳(自 1970 年以来经过的时间)?
【发布时间】:2015-04-09 23:02:35
【问题描述】:

我有 Ingres DB 和一个带有时间戳列的表(自 1970 年 1 月 1 日以来的秒数)。我需要找到今天发生的所有条目。可能的解决方案是:

SELECT * FROM table WHERE date(_date(timestamp)) = date('today')

但是,将每个时间戳转换为 ingresdate 并不是最有效的,我只想比较整数(即 timestamp > x() AND timestamp < x() + 86400

有没有办法将date('today') 转换为时间戳?我在入口文档中找不到任何关于它的信息。

【问题讨论】:

    标签: sql ingres


    【解决方案1】:

    为了转换目的,你试过了吗

     TIMESTAMP(CURRENT_DATE)
    

    TIMESTAMP(DATE '2015-04-08')
    

    或者也许使用 DATE_TRUNC() 函数?

    【讨论】:

    • TIMESTAMP(CURRENT_DATE)timestamp(date('today'))date('today') 返回完全相同的值:2015-04-09 00:00:00.0
    • 对不起,我有点困惑,您想将日期转换为时间戳,对吗?那么怎么样:SELECT * FROM table WHERE your_timestamp_column = TIMESTAMP(CURRENT_DATE)?
    • 你读过我的问题吗?我的时间戳列与ingresdate无关:Function '=' is not defined for arguments of type 'integer' and 'ingresdate'. Explicitly convert its arguments to the desired type(s).
    • 对不起,我跳过了几秒钟的那部分。好吧,你试过SELECT EXTRACT(EPOCH FROM date('today')) 吗?
    猜你喜欢
    • 2013-04-22
    • 2023-01-08
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    相关资源
    最近更新 更多