如何从 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);
我正在寻找一种方法来帮助我从 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);