SQL 获取下周一的 Presto

SQL to get next monday in Presto

无论 sql 执行在哪一天,我都需要获取下周一的日期。

我认为逻辑 7 - day_of_week(current_date)%7 + 1 可行,但是如何获取日期。

select current_date;

    _col0
1   2019-11-16


select (7 - day_of_week(current_date)%7+1)


    _col0
1   2

或者有没有其他更好的方法来做同样的事情。

我将不胜感激!!

你可以这样做:

date_add(day, 8 - extract(day_of_week from current_date), current_date)

您可以使用 date_trunc 获取当前周的星期一并将其加上 7 天:

presto> select date_trunc('week', current_date) + interval '7' day;

   _col0
------------
 2019-11-18
(1 row)