将3个月减去yyyymm month格式列配置单元sql

sh7euo9m  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(215)

在hivesql中,我有一个yearmonth[yyyymm]列,需要从中减去3个月,例如:如果yearmonth是201912,则需要的记录是201909
有人能帮我的语法或脚本,我需要得到这个吗?
我试过addmonths、conv()和reg\u extract,但都没用

xu3bshqb

xu3bshqb1#

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

相关问题