微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在aws athena中查询unix纪元时间戳中的时间

如何解决如何在aws athena中查询unix纪元时间戳中的时间

我有一个简单的表,其中包含 节点、消息、开始时间、结束时间 的详细信息,其中开始时间和结束时间在 unix 时间戳中。我正在运行的查询是:

select node,message,(select from_unixtime(starttime)),(select from_unixtime(endtime)) from table1 WHERE try(select from_unixtime(starttime)) > to_iso8601(current_timestamp - interval '24' hour) limit 100

查询不起作用并抛出语法错误

我正在尝试从表中获取以下信息:

  • 使用过去“n”小时或“n”天的开始时间和结束时间查询表,并以人类可读的格式获取开始时间和结束时间的输出

  • 使用人类可读格式的特定日期和时间查询表

解决方法

您不需要“额外的”选择,也不需要在 where clasue 中使用 to_iso8601

WITH dataset AS (
    SELECT * FROM (VALUES   
       (1627409073,1627409074),(1627225824,1627225826)
 ) AS t (starttime,endtime))

SELECT from_unixtime(starttime),from_unixtime(endtime)
FROM
dataset
WHERE from_unixtime(starttime) > (current_timestamp - interval '24' hour) limit 100

输出:

_col0 _col1
2021-07-27 18:04:33.000 2021-07-27 18:04:34.000

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。