簡體   English   中英

如何在iSeries上的SQL400中獲得UTC時間戳?

[英]How can I get a UTC timestamp in SQL400 on iSeries?

我們的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

給您類似的東西:

+----------------------------+--------+----------------------------+
| LOCAL                      | OFFSET | UTC                        |
+----------------------------+--------+----------------------------+
| 2014-05-27 14:09:19.127339 | 20.000 | 2014-05-27 12:09:19.127339 |
+----------------------------+--------+----------------------------+

筆記:

  • 本示例中歐夏令時的偏移量為+2小時。
  • SYSIBM.SYSDUMMY1是IBM提供的特殊表,其唯一目的是使一行恰好具有一列。
  • NOW() - CURRENT TIMEZONECURRENT TIME - CURRENT TIMEZONE工作。
  • IBM iSeries信息中心中的參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM