我需要得到下一行日期字段的date-1值。需要类似于“预期日期”列的结果。我尝试了滞后函数,但没有得到预期的结果。
2w3kk1z51#
尝试使用Hive lead 功能。lead函数为您提供下一行日期值。一旦你到达下一排,使用 date_add 或者 date_sub 减去一天。
lead
date_add
date_sub
SELECT Date, coalesce(date_add(lead(Date,1) over(order by Date), -1),'9999-12-31') as expected_date FROM table
最后,你可以使用 coalesce 将最后一行值默认为 9999-12-31 对于空行。
coalesce
9999-12-31
1条答案
按热度按时间2w3kk1z51#
尝试使用Hive
lead
功能。lead函数为您提供下一行日期值。一旦你到达下一排,使用date_add
或者date_sub
减去一天。最后,你可以使用
coalesce
将最后一行值默认为9999-12-31
对于空行。