注册 登录
编程论坛 SQL Server论坛

一个SQL问题~~帮帮忙

发布于 2010-05-05 09:06, 617 次点击
如何算出某个月的周末天数和节假日天数
5 回复
#2
2010-05-05 14:06
回复 楼主 linbin35
大家帮帮忙 急用 谢谢
#3
czyzhuo2010-05-06 09:34
下面这段代码是计算有多少天周末的,节假日是国家规定的,都没有规律性的,难求
private     int     CalculateWorkingDays(DateTime     dtStart,     DateTime     dtEnd)   
      {   
        int     count   =   0;   
        for(DateTime   dtTemp=dtStart;   dtTemp<dtEnd;   dTemp=dtTemp.AddDays(1))   
        {   
            if(dtTemp.DayOfWeek   ==   DayOfWeek.Saturday   &&   dtTemp.DayOfWeek   ==   DayOfWeek.Sunday)   
          {   
              count++;   
          }   
        }   
   
          return     count;   
      }  


[ 本帖最后由 czyzhuo 于 2010-5-6 09:36 编辑 ]
#4
czyzhuo2010-05-06 09:39
求节假日可以通过数据库来实现
先把节假日储存到数据库里,例如5月1日,
如果月=5,日=1的那一天就是节假日
#5
aei1352010-05-06 09:53
declare @ds datetime,@i int,@de datetime
set @ds='2010-05-01'
set @de=dateadd(day,-1,convert(varchar(7),dateadd(mm,1,@ds),120)+'-01')
set @i=0
while(@ds<=@de)
begin
if datepart(dw,@ds) in(1,7)
set @i=@i+1
set @ds=dateadd(day,1,@ds)
end
select @i
计算周末天数的,替换下@ds变量就行
#6
2010-05-06 10:58
谢谢各位
1