如何在Databricks中将interval day to second类型转换为秒数
Databricks SQL将interval day to second转换为秒数
方法一:使用to_seconds()内置函数
这是最简洁的方式,to_seconds()可以直接将interval day to second类型转换为对应的总秒数(整数形式,自动忽略纳秒部分)。修改你的查询如下:
select to_seconds(Timestamp - LAG(Timestamp, 1) OVER (partition by colA order by Timestamp)) as tdiff_seconds, * from the_table
方法二:手动提取各时间分量计算(含纳秒)
如果需要保留纳秒精度的总秒数,可以通过extract函数分别提取秒和纳秒,再计算总和:
select extract(SECOND FROM tdiff) + extract(NANOSECOND FROM tdiff) / 1000000000 as tdiff_total_seconds, * from ( -- 先计算时间差得到interval类型 select (Timestamp - LAG(Timestamp, 1) OVER (partition by colA order by Timestamp)) as tdiff, * from the_table ) t
内容的提问来源于stack exchange,提问作者MetallicPriest
相关产品推荐
相关产品推荐

