在hivesql中,我有一个yearmonth[yyyymm]列,需要从中减去3个月,例如:如果yearmonth是201912,则需要的记录是201909有人能帮我的语法或脚本,我需要得到这个吗?我试过addmonths、conv()和reg\u extract,但都没用
xu3bshqb1#
add_months() 函数用于日期。将yyyymm转换为 yyyy-MM-01 日期,应用 add_months 格式为 yyyyMM 再一次:
add_months()
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
1条答案
按热度按时间xu3bshqb1#
add_months()
函数用于日期。将yyyymm转换为yyyy-MM-01
日期,应用add_months
格式为yyyyMM
再一次:结果: