在Oracle中将Number转换为Date格式

时间:2016-06-10 05:48:07

标签: sql oracle11g

我在oracle数据库中有一个存储时间戳的数字列。我想将其转换为DATE并且我不知道如何做到这一点。

以下是我要找的内容,请提出建议。

1465484486246应转换为2016/06/09 15:01:26,246 GMT

1 个答案:

答案 0 :(得分:0)

您可以使用NUMTODSINTERVALto_date来实现您的目标:

TO_CHAR(TO_DATE('1970/01/01 00:00:00', 'YYYY/MM/DD HH24:MI:SS') + NUMTODSINTERVAL(col / 1000,'SECOND'),
        'YYYY/MM/DD HH24:MI:SS')

这里我假设您的时间戳列名为col。您提供给我们的时间戳1465484486246以毫秒为单位,这就是我在col / 1000中使用NUMTODSINTERVAL的原因。