在 HIVE 中生成日期系列时,将有效日期限制为今天
Posted
技术标签:
【中文标题】在 HIVE 中生成日期系列时,将有效日期限制为今天【英文标题】:When generating date series in HIVE, limit effective date out to TODAY 【发布时间】:2020-09-13 09:49:59 【问题描述】:一段时间前,this question 得到了关于在 hive 中生成日期系列的回答,这意味着填充有效日期和有效日期(或开始-结束日期)之间的天数。我想知道是否可以从同一个语句中将结束日期限制为今天,对于那些结束日期可能是 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
这样-case when t.EndDate='9999-12-31' then now() else t.EndDate end
放在上面的sql中计算EndDate吗?
谢谢@KoushikRoy。发布后几个小时尝试了不同的方法,最后它在以下情况下工作:CASE WHEN t.eff_out_y = '9999-12-31' THEN CURRENT_DATE()
【参考方案1】:
请使用 - case when t.EndDate='9999-12-31' then current_date() else t.EndDate end
【讨论】:
以上是关于在 HIVE 中生成日期系列时,将有效日期限制为今天的主要内容,如果未能解决你的问题,请参考以下文章
角度日期范围选择器 - 如何在已经使用 min 属性将最小日期设置为今天时禁用同一天