【问题标题】:When generating date series in HIVE, limit effective date out to TODAY在 HIVE 中生成日期系列时,将有效日期限制为今天
【发布时间】: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()

标签: date hive hiveql


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多