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)
无论 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)