amazon-athena - 如何计算 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 小时。
谢谢
解决方案
如果它是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)
推荐阅读
- java - 如何在测试中测试具有长 redeliveryDelays 的 Camel onExceptions 块
- javascript - 将搜索栏添加到 Mapbox GL JS
- python - 使用 pickle 保存 keras 模型时面临“无法腌制 _thread.rlock 对象”错误
- html - 中心列占用两倍空间 - css 布局
- html - 停止覆盖播放器的音频“下载”选项
- vagrant - 无法启动 scotchbox pro vagrant
- git - 如何意外创建分离提交?
- selenium - 使用自动缩放组水平缩放时,Selenium 网格无法按预期工作
- python - Python If else 语句可能有错误
- c++ - 定义一个接受函数作为参数的函数