微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Db2:如何将 Unix/纪元时间转换为时间戳?

如何解决Db2:如何将 Unix/纪元时间转换为时间戳?

我有一个 BIGINT 值,它代表一个 UNIX 时间戳(纪元)。如何将其转换为内置的 TIMESTAMP 类型?

例如,我想把 1611140400 变成相关的日期和时间。 TIMESTAMP_FORMAT 不起作用。

解决方法

您可以在 Db2 和 Db2 on Cloud 中使用 datetime arithmetics。对于 Db2 on Cloud(以 UTC 运行):

VALUES (TIMESTAMP('1970-01-01') + 1611140400 seconds)

纪元是自 1970 年 1 月 1 日 GMT / UTC 以来的秒数。因此,将您的数字作为秒数添加到该日期将给出:

2021-01-20 11:00:00.0

如果您在不同的时区运行,则需要注意它,例如:

VALUES (TIMESTAMP(‘1970-01-01-00.00.00.000000’) + 1611140400 seconds + current timezone)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。