0

下面的查询应该只返回 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 日打印。我希望这有帮助。

4

0 回答 0