gpt4 book ai didi

配置单元中的日期差异,差异应在 hh :mm:ss 中

转载 作者:可可西里 更新时间:2023-11-01 16:28:53 26 4
gpt4 key购买 nike

我试图找出连续行中两个日期之间的差异。我在配置单元中使用窗口函数,即 lag

但不同之处在于,输出格式应为 hh:mm:ss

例如:

  • 日期 1 是 2017-08-15 02:00:32
  • 日期 2 是 2017-08-15 02:00:20

输出应该是:

00:00:12

我试过的查询:

select from_unixtime(column_name),
(lag(unix_timestamp(from_unixtime(column_name)),1,0)
over(partition by column_name)-
unix_timestamp(from_unixtime(column_name))) as Duration from table_name;

但这会将输出返回为 12(在上面的示例中)。

更新

我已将列存储在具有 bigint 数据类型的表中。时间采用纪元格式。我们在查询中使用 from_unixtime 将其转换为可读日期。时间戳中的样本值

15028026181502786788

最佳答案

hive> with t as (select 1502802618 as ts1,1502786788 as ts2)
> select printf('%02d:%02d:%02d',(ts1 - ts2) div 3600,((ts1 - ts2) % 3600) div 60,((ts1 - ts2) % 3600) % 60) as diff
> from t
> ;
OK
diff
04:23:50

关于配置单元中的日期差异,差异应在 hh :mm:ss 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com