DB2中是否有标量函数将长数字转换为TIMESTAMP?
答案 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,显然)