例如给定6/1/2006 -- 7/1/2006,如何计算其中的周末个数?
谢谢

解决方案 »

  1.   

    select datediff(wk,'6/1/2006','7/1/2006')
      

  2.   

    select (DateDiff(day, '2006-6-1', DateAdd(month, 1, '2006-6-1'))+(5+datepart(weekday,'2006-6-1'))%7)/7
      

  3.   

    declare @FirstDate datetime
    set @FirstDate='2006-6-1'
    select (DateDiff(day, @FirstDate, DateAdd(month, 1, @FirstDate))+(5+datepart(weekday,@FirstDate))%7)/7你把'2006-6-1'换成随便哪个月都是可以的
      

  4.   

    眨下眼睛就三楼了........select datediff(wk,'2006-6-1','2006-7-1')
      

  5.   

    1楼的方法没考虑星期几,不对比如
    declare @FirstDate datetime
    set @FirstDate='2006-1-1'
    select (DateDiff(day, @FirstDate, DateAdd(month, 1, @FirstDate))+(5+datepart(weekday,@FirstDate))%7)/7
    --5select datediff(wk,'1/1/2006','2/1/2006')
    --4
      

  6.   

    declare @FirstDate datetime
    set @FirstDate='2006-9-1'
    select (DateDiff(day, @FirstDate, DateAdd(month, 1, @FirstDate))+(5+datepart(weekday,@FirstDate))%7)/7
    --4select datediff(wk,'9/1/2006','10/1/2006')
    --5