gpt4 book ai didi

sql - 如何在 iSeries 上的 SQL400 中获取 UTC 时间戳?

转载 作者:行者123 更新时间:2023-12-02 08:33:45 24 4
gpt4 key购买 nike

我们的 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 也可以。
  • Reference in IBM's iSeries information center

关于sql - 如何在 iSeries 上的 SQL400 中获取 UTC 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23889405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com