将unix epoch时间转换为扩展iso8601

d4so4syb  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(455)

我有3个表,我想使用日期工作,但其中一个表包括unix epoch格式的日期。以下是3个字段的示例:

Table1: 2017-02-01T07:58:40.756031Z
Table2: 2017-02-07T10:16:46Z
Table3: 1489236559

我想将表3中的日期转换为尽可能接近表2的格式。这就是我现在所拥有的:

SELECT cast(from_unixtime(tstart) as timestamp) as ISODATE from scada_logs

这给了我一些诱人的接近,但不完全在那里。我得到的是:

ISODATE
2017-03-20 14:31:06.000
2017-03-20 14:31:06.000

我已经玩了好几个小时了,但是我没有再靠近了。有人有什么想法吗?
谢谢您!

ryoqjall

ryoqjall1#

选项1:日期格式

presto> select date_format(from_unixtime(1489236559),'%Y-%m-%dT%H:%i:%sZ');
        _col0
----------------------
 2017-03-11T12:49:19Z

选项2:符合iso8601

presto> select to_iso8601(from_unixtime(1489236559));
          _col0
--------------------------
 2017-03-11T12:49:19.000Z

相关问题