下面的查询应该只返回 4 行(24-12-2017 到 27-12-2017)。我正在使用具有 Oracle 兼容性的企业 Postgres。
但是有些查询的最后一行不起作用。应该是因为ROWNUM。它忽略 ROWNUM 条件并显示 db 的 all_objects 中的记录数。能否请你帮忙。
WITH a
AS (
Select
date(TRUNC(date(sysdate), 'WW')) FROM_DATE,
date(sysdate)-1 TO_DATE
From dual)
select
date(date(a.FROM_DATE) + rownum -1) from
all_objects,a
where rownum <= date(a.TO_date)+1-date(a.FROM_DATE)+1;
根据评论,添加更多信息。当我在上述查询中放置一个随机日期代替 sysdate 时。FROM_DATE 应该是一周的开始日期。当给出 27-12-2017 --> 一周的开始日期是 24-12-2017(一周从星期一开始)。所以查询应该从 24 日到 27 日打印。如果我给出 20-12-2017 --> 它应该从 18 日到 20 日打印。我希望这有帮助。