1

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

4

2 回答 2

1

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

于 2013-08-16T17:57:23.730 回答
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
于 2013-08-02T00:05:12.780 回答