如何从 HIVE 中的日期中减去月份

How to subtract months from date in HIVE

我正在寻找一种方法来帮助我从 HIVE 中的日期中减去月份

我有约会对象2015-02-01。现在我需要从这个日期减去 2 个月,这样结果应该是 2014-12-01.

你们能帮帮我吗?

请尝试 add_months 日期函数并将 -2 作为月份传递。在内部 add_months 使用 Java Calendar.add 方法,它支持加减(通过传递负整数)。

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

--在 Hive 中如果日期格式是 YYYY-MM-DD 格式,那么使用月和年的差异变得非常容易

from_unixtime(unix_timestamp(2015-02-01,'yyyy-mm-dd')-2*30*24*60*60, 'yyyy-MM-dd');

 select add_months('2015-02-01',-2);

如果您需要返回结果月份的第一天:

 select add_months(trunc('2015-02-01','MM'),-2);