在Hive中获取星期几(星期开始)

时间:2018-07-16 20:09:33

标签: hive week-number

我目前有一个代码,该代码需要一个日期并返回星期日的开始日期。我想要的是获取星期一的开始日期,而不是类似weekofyear()函数。

下面是我当前的代码,其中evt_time是我的datetime变量:

date_sub(evt_time,pmod(datediff(to_date(evt_time),'1900-01-07'),7))

例如,我希望将6/4 / 2018-6 / 10/2018归入6/4/2018。

1 个答案:

答案 0 :(得分:1)

使用u参数获取工作日,然后使用算术运算法将工作日的开始日期设为星期一。

select date_add(to_date(evt_time)
                ,1-cast(from_unixtime(unix_timestamp(to_date(evt_time),'yyyy-MM-dd'),'u') as int))