Oracle10g 通过给出年份获取所有周的开始日期和结束日期
我有一个查询,其中显示了一组52个数字以及该周的相应日期Oracle10g 通过给出年份获取所有周的开始日期和结束日期,oracle10g,Oracle10g,我有一个查询,其中显示了一组52个数字以及该周的相应日期 SELECT kkk, TO_CHAR (start_date, 'DD-MON-YYYY'), TO_CHAR (start_date + 6, 'DD-MON-YYYY') AS end_day FROM (SELECT TRUNC (TRUNC (TO_DATE ('2014', 'YYYY'), 'YYYY') + 1 * 7,
SELECT kkk, TO_CHAR (start_date, 'DD-MON-YYYY'),
TO_CHAR (start_date + 6, 'DD-MON-YYYY') AS end_day
FROM (SELECT TRUNC (TRUNC (TO_DATE ('2014', 'YYYY'), 'YYYY') + 1 * 7,
'IW'
)
- 1 start_date,
ROWNUM AS kkk
FROM DUAL
CONNECT BY ROWNUM <= 52);
但是这个查询的问题是,我只得到了第一周的日期,而不是接下来的连续几周。请帮助
SELECT kkk,
TO_CHAR(start_date, 'DD-MON-YYYY') start_date,
TO_CHAR(start_date + 6, 'DD-MON-YYYY') end_day
FROM(
SELECT TRUNC(Trunc(to_date('2014', 'YYYY'),'YYYY')+ LEVEL * 7,'IW')-1 start_date ,
ROWNUM kkk
FROM duaL
CONNECT BY LEVEL <= 52
);
这里有一个问题,在这个查询中,2013年的第一周是从12月30日到1月5日,但这个查询显示的是从1月6日到12日jan@user2357418,不,第一周是指从太阳开始的一周。1月6日12月30日至1月5日是2013年的最后一周。但我希望2013年的第一周是12月30日至1月5日。是否可能,因为我尝试了很多,但都没有成功it@user2357418,如果您重新编写查询以2013年12月30日开始,则您的第52周日期为2013年12月22日,意味着将跳过13年12月29日,因为我们将计数限制为52。这真的是你需要的吗?不,不,我需要2014年的第一周,因为2013年最后一周的剩余天数加上2014年的剩余天数。至于52号伯爵,就让它在那儿吧。
SELECT TRUNC(Trunc(to_date('2014', 'YYYY'),'YYYY')+ LEVEL * 7,'IW')-1 start_date ,
level kkk
FROM duaL
CONNECT BY LEVEL <= 52