Dateadd函数转换纪元时间

时间:2016-07-19 07:58:45

标签: mysql sql database h2 database-administration

我在H2数据库中有预先存在的表名'ABC',描述是,

FIELD              | TYPE                           | NULL | KEY | DEFAULT
ID                 | DECIMAL(19)                    | NO   |     | NULL
EVENT              | BIGINT                         | YES  |     | NULL
在'EVENT'列中的

我有一些unix时间戳(以毫秒为单位的纪元时间。)数据。

ID |   EVENT
1  |  1468318907575 
2  |  1468321000459 

使用DATEADD函数我们可以将unix时间戳转换为正常日期。 但所需的输入是几秒钟(11位)。

有没有什么方法可以编写一个sql函数,它从我的EVENT列获取数据并将其转换为DATE格式,如下所示,函数正在对ABC表(13位)bigint值中的值进行操作。

select DATEADD('SECOND', 1348560343, DATE '1970-01-01');

请帮助我。

提前致谢!!!

Reagrds

2 个答案:

答案 0 :(得分:1)

选择DATEADD('SECOND',SUBSTRING(Event,1,11),DATE'1970-01-01');

答案 1 :(得分:0)

函数FROM_UNIXTIME()将纪元时间转换为日期时间字符串,可以与其他日期时间函数一起使用。