h2 - 有没有更好的方法来获取 H2 数据库中几天之间的数据?

标签 h2

我们想从具有以下条件的表中选择数据。

Date of Transactiontime <= (Current Date - n Days)

例如

  1. 今天是 - 2016 年 6 月 21 日。
  2. 交易时间日期 = '2016-06-19 11:45:07.148'。
  3. 通过以下查询,我们可以获得2 天前的数据。

查询:

SELECT * FROM T WHERE FORMATDATETIME (Transactiontime,'YYYY-MM-d') <= FORMATDATETIME ( DATEADD('HH',-2*24,Now()), 'YYYY-MM-d');

Dataype of Transactiontime = TIMESTAMP

有没有更好的方法来获得相同的结果?

最佳答案

您尝试过函数DATEDIFF()吗? ?

SELECT * FROM T WHERE DATEDIFF('DAY', NOW(), Transactiontime) >= 2

编辑

使用 DAY_OF_YEAR 而不是 DAY 可能会更好。

关于h2 - 有没有更好的方法来获取 H2 数据库中几天之间的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37945337/

相关文章:

java - 唯一索引或主键违规 : "PRIMARY KEY ON PUBLIC.xxx"; SQL statement

java - 我的查询需要很长时间才能完成查找列值差异为另一列最大分组的行对

java - H2 数据库快速增长失控

openshift - Openshift 中 H2 数据库的 URL

sql-server - 有没有真正持久的数据库?

java - 将嵌入式数据库与远程数据库同步

java - H2 数据库 ALIAS_COLUMN_NAME=TRUE 似乎不起作用

java - Eclipse 控制台中的 H2 数据库结果

sql - 如果不存在则插入到 h2 表中

hibernate - 使用 H2 正确拆卸 hibernate 测试