2013-08-01 28 views

回答

1

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

0

发布你试过的东西总是很好的。

这对我的作品在德比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 
+2

这将放入当前时间戳,但不包括当前UTC时间戳。将日历传递到ResultSet.getTimestamp(列,日历)时发生此问题。甲骨文预计它在UTC,因此我正确地得到它。德比没有任何时区概念,所以司机会认为它在UTC,然后将其翻译为当地时间。除了在当地时间,所以我会回到当地时间减去抵消。 换句话说,我想存储一个确切的时间点,而不是一个日历日期。 –

相关问题