将 Unix 纪元时间转换为扩展的 ISO8601
Converting Unix epoch time to extended ISO8601
我有 3 个 table 我想使用日期,但是其中一个 table 包含 unix 纪元格式的日期。这是 3 个字段的示例:
Table1: 2017-02-01T07:58:40.756031Z
Table2: 2017-02-07T10:16:46Z
Table3: 1489236559
我想转换 table 3 中的日期以尽可能匹配 table 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
我已经研究了几个小时了,但我没有更进一步。有人有什么想法吗?
谢谢!
选项 1:date_format
presto> select date_format(from_unixtime(1489236559),'%Y-%m-%dT%H:%i:%sZ');
_col0
----------------------
2017-03-11T12:49:19Z
选项 2:to_iso8601
presto> select to_iso8601(from_unixtime(1489236559));
_col0
--------------------------
2017-03-11T12:49:19.000Z
我有 3 个 table 我想使用日期,但是其中一个 table 包含 unix 纪元格式的日期。这是 3 个字段的示例:
Table1: 2017-02-01T07:58:40.756031Z
Table2: 2017-02-07T10:16:46Z
Table3: 1489236559
我想转换 table 3 中的日期以尽可能匹配 table 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
我已经研究了几个小时了,但我没有更进一步。有人有什么想法吗?
谢谢!
选项 1:date_format
presto> select date_format(from_unixtime(1489236559),'%Y-%m-%dT%H:%i:%sZ');
_col0
----------------------
2017-03-11T12:49:19Z
选项 2:to_iso8601
presto> select to_iso8601(from_unixtime(1489236559));
_col0
--------------------------
2017-03-11T12:49:19.000Z