【问题标题】:Subtract 3 months to yyyymm month format column hive sql减去 3 个月到 yyyymm 月份格式列 hive sql
【发布时间】:2020-03-26 13:46:42
【问题描述】:

在 HiveSql 中,我有一个 yearmonth [yyyymm] 列,我需要从中减去 3 个月 例如:如果 yearmonth 是 201912 ,则需要的记录是 201909

有人可以帮我解决我需要的语法或脚本吗?

我已经尝试过 addmonths、conv() 和 reg_extract 但没有任何效果

【问题讨论】:

    标签: date hive bigdata hiveql


    【解决方案1】:

    add_months() 函数适用于日期。将 yyyyMM 转换为 yyyy-MM-01 日期,应用 add_months 并再次格式化为 yyyyMM

    with your_table as (select '201912' as yearmonth)
    
    select date_format(add_months(concat_ws('-',substr(yearmonth,1,4),substr(yearmonth,5,2),'01'),-3),'yyyyMM') as yearmonth 
      from your_table;
    

    结果:

    201909
    

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 1970-01-01
      • 2018-03-12
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 2022-11-17
      相关资源
      最近更新 更多