DB2 中是否有一个标量函数可以将长数字转换为 TIMESTAMP?
问问题
11924 次
1 回答
6
正如@Dan1111 指出的那样;不,没有内置任何东西。
但是,如果你有一个“长”数字(我假设BIGINT
),我猜你有 Unix 纪元(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
(格林威治标准时间,显然)
于 2012-09-21T15:36:23.647 回答