Oracle SQL:计算日历周的工作日

Oracle SQL: Count Weekdays of a Calendar Week

所以我想查询以显示某个日历周是否有全部 7 天。 如果只是 returns 数字 1-7 就好了。

我的 table 包含 2020 年第 3 个月的文章,但即使如此,第一周也只包含周三到周日,它仍然算作一个日历周。

有了那个 select 我会制作 pl/sql 脚本来检查它,如果是的话会发生什么事情。

这是 Table 的示例:

Date        Articel_Id
14.10.2020  78
15.10.2020  80
16.10.2020  96
17.10.2020  100
18.10.2020  99

我可以使用 to_char() 来检查日历周是否有全部 7 天吗? 如果是,如何?

挑战实际上是定义周数。如果要使用 ISO 标准定义它们,则聚合:

select to_char(date, 'IYYYY-IW') as yyyyww,
       count(distinct trunc(date)) as num_days
from t
group by to_char(date, 'IYYYY-IW')
order by yyyyww;

这是计算每周的天数。我不确定您是否要过滤、是否有标志或结果集应该是什么样子。对于过滤,使用 having 子句,例如 having count(distinct trunc(date)) = 7.