如何将2012-04-12 00:00:00转换为DB2中的unix时间戳。 sql s中是否有任何inbuild函数
谢谢。
答案 0 :(得分:4)
使用DAYS
和MIDNIGHT_SECONDS
比TIMESTAMPDIFF
精确得多:
SELECT
86400*(DAYS(CURRENT TIMESTAMP - CURRENT TIMEZONE)-DAYS('1970-01-01'))
+ MIDNIGHT_SECONDS(CURRENT TIMESTAMP - CURRENT TIMEZONE)
"UNIX_TIMESTAMP"
FROM SYSIBM.SYSDUMMY1
答案 1 :(得分:3)
按Unix timestamp
我假设你是指自1970-01-01 00:00:00 UTC以来的秒数(或其他)。
DB2中没有内置的功能(从V6R1开始) 您还遇到了以下问题:
CURRENT_TIMESTAMP
次写入都基于请求系统认为的时间,不是主持人。TIMESTAMPDIFF
函数返回估算值,不是一个确切的值。你可能可以存活多年/几个月的持续时间,而不是足够的差异,但是几天不太可能削减它。您最好的选择是开始使用DAYS
(返回自0001-01-01以来的天数)。请记住,您最好在UTC中执行所有操作,因为它会不将DST考虑在内。