将Unix纪元时间转换为扩展的ISO8601 [英] Converting Unix epoch time to extended ISO8601

查看:0
本文介绍了将Unix纪元时间转换为扩展的ISO8601的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要使用日期处理3个表,但其中一个表包含Unix纪元格式的日期。以下是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

我已经玩了几个小时了,但我没有更近一步。有谁有什么主意吗?

谢谢!

推荐答案

选项1:日期格式

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

这篇关于将Unix纪元时间转换为扩展的ISO8601的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆