如何在Hive中检索给定日期的WeekofMonth

时间:2018-06-15 14:03:46

标签: sql hive

我在Hive 2018-06-10中有一个日期字段,我需要从中获取WeekOfMonth

WEEKOFYEAR(order_time)

我需要输出2018-06-10为3(这是第3周。假设从星期日开始一周)

Hive中是否有内置函数来检索WeekofMonth。我找不到任何东西。我尝试下面根据分钟和秒进行转换,但

from_unixtime(unix_timestamp(CURRENT_DATE())+7200)

但上面没有给出正确的值

2 个答案:

答案 0 :(得分:0)

对于本月的某一周,您可以获得当月的部分时间并除以7。

select case 
  when DAYOFMONTH(order_time)%7 = 0  
       then DAYOFMONTH(order_time)/7 
       else DAYOFMONTH(order_time)/7 + 1 
  end 

答案 1 :(得分:0)

您还可以使用date_format函数:

select date_format('2018-06-10','W');

在此处查看更多格式模式:SimpleDateFormat