kra*_*nko 2 sql timestamp utc db2-400 ibm-midrange
我们的iSeries(又名AS400,又名i5,又称SystemI)在本地运行,但我们有一个应用程序,它使用UTC(用Java编写,通过JDBC连接到iSeries DB).
如何在该系统上通过SQL生成UTC时间戳?
DB2/400(它喜欢与其他DB2风格不同),有一个特殊的寄存器叫做CURRENT TIMEZONE
.它包含一个数值,可以从时间戳或时间值中减去.
在示例查询中:
SELECT
CURRENT TIMESTAMP AS local,
CURRENT TIMEZONE AS offset,
CURRENT TIMESTAMP - CURRENT TIMEZONE AS utc
FROM SYSIBM.SYSDUMMY1
Run Code Online (Sandbox Code Playgroud)
给你这样的东西:
+----------------------------+--------+----------------------------+
| LOCAL | OFFSET | UTC |
+----------------------------+--------+----------------------------+
| 2014-05-27 14:09:19.127339 | 20.000 | 2014-05-27 12:09:19.127339 |
+----------------------------+--------+----------------------------+
Run Code Online (Sandbox Code Playgroud)
笔记:
SYSIBM.SYSDUMMY1
是IBM提供的一个特殊表,其唯一目的是只有一行只有一列.NOW() - CURRENT TIMEZONE
和CURRENT TIME - CURRENT TIMEZONE
工作.