我正在寻找一种方法,帮助我从HIVE日期中减去几个月
我有一个约会2015-02-01
。现在我需要从这个日期减去2个月,以便结果应该是2014-12-01
。
你们能帮助我吗?
答案 0 :(得分:15)
select add_months('2015-02-01',-2);
如果你需要回到最后一个月的第一天:
select add_months(trunc('2015-02-01','MM'),-2);
答案 1 :(得分:2)
请尝试add_months日期函数并将-2作为月份传递。在内部,add_months使用Java Calendar.add方法,该方法支持加或减(通过传递负整数)。
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions
答案 2 :(得分:0)
- 如果日期格式为YYYY-MM-DD格式,则在Hive中,使用月份和年份的差异变得非常容易
from_unixtime(unix_timestamp(2015-02-01,' yyyy-mm-dd') - 2 * 30 * 24 * 60 * 60,' yyyy-MM-dd') ;