如何在DB2中将2012-04-12 00:00:00转换为Unix时间戳?是否有内置的SQL函数可用?
谢谢。
如何在DB2中将2012-04-12 00:00:00转换为Unix时间戳?是否有内置的SQL函数可用?
谢谢。
使用 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
我猜你指的是Unix时间戳是指自1970年01月01日00:00:00 UTC(协调世界时)以来的秒数(或其他单位)。但在DB2(截至V6R1)中没有内置的功能可以实现此操作。
同时存在以下问题:
最好的方法是开始使用DAYS(返回自0001-01-01以来的天数)。请记住,您最好在UTC中进行所有操作,因为它不会考虑夏令时。