在HIVE中生成日期序列时,将有效日期限制为今天

问题描述

有些时候倒退了,this question回答了有关在配置单元中生成日期序列的问题,这意味着填充有效输入日期和有效输出日期(或开始-结束日期)之间的日期。我想知道是否可以从同一语句中将结束日期限制为TODAY,对于那些结束日期可能是9999-12-21的情况,它是一个有效记录。可能吗?怎么样?

上面链接的问题中建议的脚本是:

select  t.AccountNumber,date_add (t.StartDate,pe.i)   as Day

from    Table1 t
        lateral view 
        posexplode(split(space(datediff(t.EndDate,t.StartDate)),' ')) pe as i,x

解决方法

请使用-case when t.EndDate='9999-12-31' then current_date() else t.EndDate end