在 Oracle 中查找上周一的日期

问题描述 投票:0回答:1

如何检查特定日期是否为星期一?那么如果不是星期一,我该如何编写 SQL 脚本来给出上星期一的日期呢?例如,如果日期(27/2/2024)是星期二,我如何让它显示上周一的日期(即26/02/2024)?

我尝试了 Google 搜索并观看了一些 YouTube 视频,但我能找到的唯一解决方案是 SQL Server。不过,我使用的是 SQL Developer/Oracle。我已经能够检测到特定日期是一周中的哪一天:

TO_CHAR(TO_DATE(START_DATE,'YYYY-MM-DD'),'DAY') SYSTART_DAY_OF_WEEK,

谢谢!

sql oracle date
1个回答
1
投票

我建议使用

next_day
功能。

SQL> select next_day(sysdate - 7, 'MONDAY') from dual;

NEXT_DAY(
---------
26-FEB-24

SQL> select next_day(date '2024-02-16' - 7, 'MONDAY') from dual;

NEXT_DAY(
---------
12-FEB-24

SQL>
© www.soinside.com 2019 - 2024. All rights reserved.