【发布时间】:2021-09-13 07:58:03
【问题描述】:
我想从 Hive 中的 'yyyy-MM' 格式值中获取上个月。我尝试使用 'add_months' 但无法获得。
select add_months('2021-06', -1)
例如:我有一个值为“2021-06”的字符串列,现在我想将输出显示为“2021-05”。
请帮忙。
【问题讨论】:
我想从 Hive 中的 'yyyy-MM' 格式值中获取上个月。我尝试使用 'add_months' 但无法获得。
select add_months('2021-06', -1)
例如:我有一个值为“2021-06”的字符串列,现在我想将输出显示为“2021-05”。
请帮忙。
【问题讨论】:
通过连接'-01'、add_months 将您的字符串转换为日期,使用date_format 得到yyyy-MM:
select date_format(add_months(concat('2021-06','-01'), -1),'yyyy-MM')
结果:
2021-05
另一种方法(使用substr 而不是date_format):
select substr(add_months(concat('2021-06','-01'), -1),1,7) --returns 2021-05
【讨论】: