如何从过去30秒内插入的Derby数据库中获取条目?

时间:2012-06-10 09:52:56

标签: java database eclipse derby

我是Derby的新手(基本上是数据库),我正试图通过Eclipse使用Java来熟悉Derby。

我要做的是从报告生成以来的最后30秒生成当前在Derby数据库中的所有条目的报告。

我设法通过以下方式获得我想要的MySQL:

  

SELECT * FROM table WHERE datetime> (现在() - 间隔30秒)

Derby中是否有相同或类似的功能?

1 个答案:

答案 0 :(得分:1)

不幸的是,Derby不支持标准(ANSI)SQL日期算法。您需要使用JDBC转义函数:

c:\db-derby-10.8.2.2\bin>ij
ij version 10.8
ij> connect 'jdbc:derby:c:/temp/sotest';
ij> create table foo (datetime timestamp);
0 rows inserted/updated/deleted
ij> insert into foo values (current_timestamp);
1 row inserted/updated/deleted
ij> commit;
ij> select *
from foo
where datetime > {fn timestampadd(SQL_TSI_DAY, -10, current_timestamp)};
> > DATETIME
-----------------------------
2012-06-10 12:32:48.859

1 row selected
ij>

有关功能的完整列表,请参阅参考手册:http://db.apache.org/derby/docs/10.8/ref/rrefjdbc88908.html