首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求:根据begin_date,end_date,type_no获取执行时间

2012-03-24 
求高手指点:根据begin_date,end_date,type_no获取执行时间求一存储过程:根据begin_date,end_date,type_no

求高手指点:根据begin_date,end_date,type_no获取执行时间
求一存储过程:根据begin_date,end_date,type_no获取执行时间execute_date

说明:type_no有3类:01代表每天,02代表每周,03代表每月

根据begin_date,end_date,type_no,求得执行日期execute_date


举例:
数据库表中的一条记录如下
begin_date:2012-02-05
end_date:2012-02-08
type_no:01
execute_date:null

根据当前系统日期判断,第一次执行的日期为2012-02-06,第二次执行的日期为2012-02-07,第三次执行的日期为2012-02-08

求高手指点

[解决办法]
把每个type_no的情况都说下呗,然后写下对应的execute_date结果。
[解决办法]
你想要的结果是什么样子的表。写个样子啊。还是你想做什么事?
[解决办法]

探讨
“每周”的意思是:每个礼拜的星期一执行
对于开始日期是2012-02-06,那么下一个周一就是“2012-02-13”

“每月”的意思是:每个月的1号执行
对于开始日期是2012-02-06,那么下一个1号就是“2012-03-01”

[解决办法]
SQL code
--得出下一天的日期select getdate()+1得出下一个工作日的日期create function GetNextWorkDay ( @date datetime )returns datetimeas     begin        set @date = @date + 1        while ( datepart(weekday, ( @date + @@datefirst - 1 )) > 5 )             begin                set @date = @date + 1            end        return @date    end    --得到下一个工作日select dbo.GetNextWorkDay('2012-02-10')/*2012-02-13 00:00:00.000*/ 

热点排行