ITPub博客

首页 > IT职业 > IT生活 > 第几周的起始日期和结束日期

第几周的起始日期和结束日期

原创 IT生活 作者:logjiang 时间:2010-11-01 17:27:47 0 删除 编辑

算法有点复杂:

select to_date( '2005-01-01 ', 'yyyy-mm-dd ')
+mod(7 - to_number(to_char(to_date( '2005-01-01 ', 'yyyy-mm-dd '), 'd ')) + i,7)
+ (n - 1)*7 as bngdate,
to_date( '2005-01-01 ', 'yyyy-mm-dd ')
+mod(7 - to_number(to_char(to_date( '2005-01-01 ', 'yyyy-mm-dd '), 'd ')) + i,7)
+ n*7-1 as enddate
from dual;

上式中有两个参数,n和i,n为第n个完整周,i为每星期起始日,i=1表示从星期日开始算一周的第一天,i=2表示从星期一开始算一周的第一天,依次类推....。
将2005换成其它年份,就可以算其它年份的。可以改成过程或函数。

转自http://topic.csdn.net/t/20051124/12/4415292.html

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/67798/viewspace-1040721/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    53
  • 访问量
    169931