我在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
答案 0 :(得分:1)
选择DATEADD('SECOND',SUBSTRING(Event,1,11),DATE'1970-01-01');
答案 1 :(得分:0)
函数FROM_UNIXTIME()
将纪元时间转换为日期时间字符串,可以与其他日期时间函数一起使用。