【问题标题】:Count all records from midnight until now()统计从午夜到现在的所有记录()
【发布时间】:2013-08-07 00:00:04
【问题描述】:

我正在尝试获取从当天午夜到按下按钮时创建的所有记录。

我同时尝试过类似的方法,但它并没有真正解决问题。

SELECT COUNT(*) FROM ... AND a.lastAction > now() - interval '24 hour'"

我需要的是这样的:

SELECT COUNT(*) FROM ... AND a.lastAction > midnight() AND a.lastAction < now()

有没有办法将"2013-08-06 00:00:01" 之类的字符串转换为时间戳?

【问题讨论】:

    标签: sql ruby postgresql time pg


    【解决方案1】:
    lastAction between current_date and now()   
    
    select '2013-08-06 00:00:01'::timestamp;
          timestamp      
    ---------------------
     2013-08-06 00:00:01
    

    Postgresql 中的日期运算非常简单。可以对间隔的任何部分进行求和或减去,例如 1.5 小时

    select '2013-08-06 00:00:01'::timestamp + 1.5 * interval '1 hour';
          ?column?       
    ---------------------
     2013-08-06 01:30:01
    

    【讨论】:

    • 这很容易。我假设在 ::timestamp 之后,可以添加或减去间隔“1 小时”之类的内容?
    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    相关资源
    最近更新 更多