我的要求是根据日历日期填写周数。捕获的是周数将从10月1日开始到12月7日结束。
因此,从10月1日开始的一周将被视为第1周,第7周为第2周,所以上周的数字将在12月7日填充。休息将周数列作为NULL。如何在蜂巢中做到这一点?
答案 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 |
+-------------+