我查询了Athena数据库以获取开始时间和结束时间。我正在尝试查找开始时间和结束时间之间的持续时间,以及。使用date diff函数获取该信息。但是我猜想日期的数据类型和格式无法使用日期差异。
以下是查询: 选择, json_extract_scalar(eventdata,'starttime')AS开始时间, json_extract_scalar(eventdata,'endtime')AS结束时间 从table1
以下是示例数据:
如何找到持续时间?任何帮助表示赞赏。谢谢
答案 0 :(得分:1)
您可以使用from_iso8601_timestamp()
将这些格式化的字符串转换为时间戳。然后,您可以使用date_diff()
:
select
json_extract_scalar(eventdata, 'starttime') as starttime,
json_extract_scalar(eventdata, 'endtime') as endtime,
date_diff(
'second', -- or another unit you like
from_iso8601_timestamp(json_extract_scalar(eventdata, 'endtime')),
from_iso8601_timestamp(json_extract_scalar(eventdata, 'starttime'))
) diff_seconds
from table1