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

问题描述 投票:1回答:1

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

有人可以帮我获取所需的语法或脚本吗?

我尝试过addmonths,conv()和reg_extract但是什么都行不通

date hive bigdata hiveql
1个回答
0
投票
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

© www.soinside.com 2019 - 2024. All rights reserved.