Hive - 查询以获取星期六作为给定日期的一周开始日期

时间:2021-04-08 00:35:40

标签: sql hadoop hive

我在 hive 中要求将星期六计算为 hive sql 中给定日期的周开始日期。

例如)

Date                   week_start    
03-27-2021             03-27-2021    
03-28-2021             03-27-2021    
03-31-2021             03-27-2021    
04-07-2021             O4-03-2021    
04-09-2021.            04-03-2021

我尝试使用 pmod 和其他日期函数,但没有获得所需的输出。任何见解都非常感谢。

1 个答案:

答案 0 :(得分:1)

Hive 提供 next_day(),可以为此目的进行调整。我认为你想要的逻辑是:

select date_add(next_day(date, 'SAT'), -7)

有点神秘。 next_day() 获取下一个日期 after 参数日期与给定的星期几。所以,去下一个星期六,然后减去 7 天作为一周的开始。