【问题标题】:H2 - DATEADD for complete dayH2 - 全天的 DATEADD
【发布时间】:2013-10-08 19:08:54
【问题描述】:

此查询将检索过去 7 天内的所有记录。

SELECT * FROM STATISTICS WHERE TIMESTAMP > DATEADD('DAY',-7, NOW())

如何更改查询以包含 7 天前午夜的记录?

例如

SELECT DATEADD('DAY',-7, NOW())

给予:2013-09-25 13:46:54.372

但我想拥有:2013-09-25 00:00:00.000

【问题讨论】:

    标签: sql date h2


    【解决方案1】:

    对于任何感兴趣的人,这里有一个解决方案。

    使用 CURRENT_DATE 而不是 NOW() 可以解决问题!

    例如:

    SELECT * FROM STATISTICS WHERE TIMESTAMP > DATEADD('DAY',-7, CURRENT_DATE)
    

    http://www.h2database.com/html/functions.html#dateadd

    【讨论】:

    • 我用这个:DATEADD('DAY',-10, CURRENT_DATE()
    【解决方案2】:

    在 SQL Server 中,您可以这样做:

    SELECT DATEADD(DAY, -7, DATEDIFF(DAY, 0, GETDATE()))
    

    也许您也可以调整它以使其在 H2 中也能正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多