蜂巢日期昏暗 - 定制周数

时间:2017-06-10 12:27:56

标签: hive hiveql

我的要求是根据日历日期填写周数。捕获的是周数将从10月1日开始到12月7日结束。

因此,从10月1日开始的一周将被视为第1周,第7周为第2周,所以上周的数字将在12月7日填充。休息将周数列作为NULL。如何在蜂巢中做到这一点?

1 个答案:

答案 0 :(得分:0)

with t as (select date '2014-10-23' as dt)

select  case 
            when dt between cast(concat(date_format(dt,'yyyy'),'-10-01') as date)
                    and     cast(concat(date_format(dt,'yyyy'),'-12-07') as date)

            then datediff (dt,cast(concat(date_format(dt,'yyyy'),'-10-01') as date)) div 7 + 1
        end     as week_number

from    t
+-------------+
| week_number |
+-------------+
|           4 |
+-------------+