在Derby中,有没有办法创建一个具有默认为UTC时间戳的列的数据库表?

时间:2013-08-01 15:24:07

标签: sql derby utc

我使用Derby作为白盒测试代码的解决方案。在什么将成为我的生产数据库,我有一个列默认为UTC的系统时间戳。然而;我无法弄清楚如何在德比中做到这一点。有没有办法使用Derby设置这样的列?我现在已经用谷歌搜索了一段时间,并且找不到任何有用的东西。

2 个答案:

答案 0 :(得分:1)

发布您尝试过的内容总是好的。

这适用于Derby 10.10:

ij> create table mytab (a int, b timestamp default current_timestamp);
0 rows inserted/updated/deleted
ij> insert into mytab (a) values (1);
1 row inserted/updated/deleted
ij> select * from mytab;
A          |B
-----------------------------------------
1          |2013-08-01 17:04:17.458

1 row selected

答案 1 :(得分:1)

德比根本没有时区概念。虽然没有复杂的触发器调用java方法我无法解决这个问题,但我发现解决我真正的问题(单元测试)要简单得多。在我的单元测试中,我只是断言我的返回日期是由默认时区和UTC之间的差异而不是断言日期相等(或非常接近)。