首页 > 解决方案 > 如何计算 2 个时间戳之间的差距(针对 AWS Athena 编辑)

问题描述

我有许多向我的 Amazon Athena 服务器发送数据的 IOT 设备,我创建了一个表来存储数据,该表包含 2 列:LocalTime 表示 IOT 设备捕获其状态的时间,ServerTime 表示数据到达服务器的时间(有时物联网设备没有网络连接)

我想以小时为单位(比如说 1 小时)计算“差距”,以便了解到达的数据的偏差,例如: 在此处输入图像描述

我想得到的结果是:

在此处输入图像描述

为了计算结果,我想计算 serverTime 和 LocalTime 之间经过了多少小时。所以第一个条目(1.1.2019 12:15 - 1.1.2019 10:25)= 1-2 小时。

谢谢

标签: amazon-athena

解决方案


如果它是MSSQL Server是您的数据库,您可以尝试下面的脚本来获得您想要的输出 -

SELECT  
CAST(DATEDIFF(HH,localTime,serverTime)-1  AS VARCHAR) +'-'+
    CAST(DATEDIFF(HH,localTime,serverTime)  AS VARCHAR) [Hours],
COUNT(*) [Count]
FROM your_table
GROUP BY CAST(DATEDIFF(HH,localTime,serverTime)-1  AS VARCHAR) +'-'+
    CAST(DATEDIFF(HH,localTime,serverTime)  AS VARCHAR)

推荐阅读