我如何减少日期的数天,因此会有另一个日期,例如:01/12/2016 - 10 = 2016年11月21日
答案 0 :(得分:1)
有一个hive udf可以将天数减去日期https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions,你有两个选项,将日期转换为以下格式直接使用udf
yyyy-MM-dd
或者您可以将当前日期转换为时间戳并应用udf,例如
date_sub(from_unixtime(unix_timestamp('12/03/2010' , 'dd/MM/yyyy')), 10) -- subs 10 days
我希望它有所帮助, 问候!
答案 1 :(得分:1)
(日期参数)
hive> select date_sub(date '2016-12-01',10);
OK
2016-11-21
或
(字符串参数)
hive> select date_sub('2016-12-01',10);
OK
2016-11-21
date_sub(日期/时间戳/字符串startdate,tinyint / smallint / int days)
减去startdate的天数:date_sub('2008-12-31',1)= '2008-12-30'。在Hive 2.1.0(HIVE-13248)之前,返回类型是a 字符串,因为创建方法时不存在日期类型。
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF