从sql中的日期开始一周

时间:2012-12-10 05:17:25

标签: sql plsql

我想知道如何根据用户输入将月份分成相应的周数,例如从当月的1天或一周的第一周开始。

例如: 如果用户想要基于当月1日的数据,即01-06-2012 然后

jun'2012 1 / 6-7 / 6 8 / 6-14 / 6 15 / 6-21 / 6 22 / 6-28 / 6 29 / 6-30 / 6

如果用户想要根据第一周,即4-6-2012

君-2012 4-10 11-17 18-24
我认为这将是一个财政周

任何人都可以告诉我我怎么能得到这个?

以及如何根据给定日期获得完整的一周

1 个答案:

答案 0 :(得分:0)

这可以给你一个想法,

declare
vdate date := sysdate;  
temp  Date;
begin
temp  :=  VDate;
WHILE last_day(temp) >=  vDate
LOOP
   dbms_output.put_line(to_char(vDate));
   vDate := vDate+7;
END LOOP;
end;

end;

结果将从2012年12月10日(即2012年12月10日)开始到本周最后一天

    10-DEC-12
    17-DEC-12
    24-DEC-12
    .....