current_timestamp在job中不准的问题

有些job中跑应用程序,希望记下时间戳,但是取了current_timestamp之后,发现时间和实际的时间不准,查了几个小时。这是因为在job中跑的时候,current_timestamp是GMT格林尼治时间。

见下面的testcase,我们设置数据库服务器的时区是东八区的北京时间;客户端plsql所在的时间是东九区的首尔时间。

可以看到sessiontimezone是+0:0,是格林尼治时间。

因此,如果我们要在job取时间戳,可以取systimestamp这个值。这个值是DB服务器上的时间的时间戳。

或者用加一条set time_zone也是一样的效果:

解决方案:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.