Hive上个月结束

时间:2016-12-07 21:11:35

标签: variables hive

INSERT OVERWRITE TABLE test_month
PARTITION (dt= LAST_DAY('${CURRENT_DATE}'))
SELECT '${CURRENT_DATE}', LAST_DAY('${CURRENT_DATE}');

当前日期是该月的第一天。我希望实现上述目标。它不起作用。这将是oozie中使用的HiveQL。

1 个答案:

答案 0 :(得分:0)

他们可能有几种方式,这是一种方式

select order_date,  date_sub(concat(
(case 
WHEN MONTH(order_date) = '12'  THEN  concat( (YEAR(order_date) +1)  , '-01')
 WHEN MONTH(order_date) >= '10'  THEN  concat( (YEAR(order_date))  , '-',     (MONTH(order_date) +1))
  WHEN MONTH(order_date) >= '1'  THEN  concat( (YEAR(order_date))  , '-0', (MONTH(order_date) +1))
  ELSE 'XX' END)      ,'-01'  ) ,1)