DB2将long值转换为时间戳

时间:2012-09-21 09:28:32

标签: db2 timestamp

DB2中是否有标量函数将长数字转换为TIMESTAMP?

1 个答案:

答案 0 :(得分:6)

正如@ Dan1111指出的那样;不,没有内置的东西。

但是,如果你有一个'长'数字(我假设BIGINT),我猜你有一个秒数(或类似)来自Unix Epoch(1970-01- 01 00:00:00.000 UTC)如果是这样,很容易“欺骗”,你可以用这个逻辑编写自己的:

SELECT TIMESTAMP('1970-01-01', '00:00:00') + <your_column> SECONDS
FROM <your_table>

这当然假设计数实际上来自UTC(并且您计划将结果解释为这样),因为夏令时(以及时区,在较小程度上)会使事情变得非常糟糕。


一个简单的例子:

SELECT TIMESTAMP('1970-01-01', '00:00:00') + 1348241581 SECONDS                                      
FROM sysibm/sysdummy1      

产生预期的:

2012-09-21-15.33.01.000000

(GMT,显然)