在HIVE APACHE中将日期减去日期

时间:2017-02-21 23:08:34

标签: sql date hive hiveql

我如何减少日期的数天,因此会有另一个日期,例如:01/12/2016 - 10 = 2016年11月21日

2 个答案:

答案 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