select * from table where datepart(weekday,getdate())<=5 and datepart(weekday,getdate()>=6

解决方案 »

  1.   

    select * from table where datepart(weekday,getdate())<=6 and datepart(weekday,getdate()>=5
      

  2.   

    select * from [table] where datepart(dw,getdate())>=5 and datepart(dw,getdate())<=6
      

  3.   

    最起码应该是:
    select * from [table] where  datepart(dw,日期字段) >=5 and  datepart(dw,日期字段) <=6
      

  4.   

    set datefirst 7
    go
    select select * from table 
    where  getdate()
    between
           dateadd(day,-(datepart(dw,getdate())-6+7),getdate())
    and
           dateadd(day,-(datepart(dw,getdate())-5),getdate())
      

  5.   

    select * from 表
    where 时间字段 between 
    dateadd(day,5-datepart(dw,getdate()),getdate())
    and
    dateadd(day,5-datepart(dw,getdate())-7+1,getdate())
      

  6.   

    SQL Server日期计算
    a. 一个月的第一天
    SELECT  DATEADD(mm,  DATEDIFF(mm,0,getdate()),  0)  
    b. 本周的星期一
    SELECT  DATEADD(wk,  DATEDIFF(wk,0,getdate()),  0) 
    c. 一年的第一天
    SELECT  DATEADD(yy,  DATEDIFF(yy,0,getdate()),  0)  
    d. 季度的第一天
    SELECT  DATEADD(qq,  DATEDIFF(qq,0,getdate()),  0)  
    e. 上个月的最后一天 
    SELECT  dateadd(ms,-3,DATEADD(mm,  DATEDIFF(mm,0,getdate()),  0))  
    f. 去年的最后一天
    SELECT  dateadd(ms,-3,DATEADD(yy,  DATEDIFF(yy,0,getdate()),  0)) 
    g. 本月的最后一天
    SELECT  dateadd(ms,-3,DATEADD(mm,  DATEDIFF(m,0,getdate())+1,  0))  
    h. 本月的第一个星期一
    select  DATEADD(wk,  DATEDIFF(wk,0,                                                          
                                   dateadd(dd,6-datepart(day,getdate()),getdate())        
                                                                                                     ),  0)      
    i. 本年的最后一天
    SELECT  dateadd(ms,-3,DATEADD(yy,  DATEDIFF(yy,0,getdate())+1,  0))。
      

  7.   

    declare @a int
    首先应该判断今天的日期和今天是星期几
    set @newdate=getdate()
    set @a=datepart(dw,getdate()) 
    如果是星期一,则@a=2
    那么这周四就是今天加上3天 即 dateadd(dd,3,getdate())
    那么上周五就是今天减去3天 即 dateadd(dd,-3,getdate())select * from [table] where  日期字段 between dateadd(dd,-3,getdate()) and dateadd(dd,3,getdate()) 如果是星期二,则@a=3
    那么这周四就是今天加上2天 即 dateadd(dd,2,getdate())
    那么上周五就是今天减去4天 即 dateadd(dd,-4,getdate())select * from [table] where  日期字段 between dateadd(dd,-4,getdate()) and dateadd(dd,2,getdate()) 
    写个函数,以此类推!!
      

  8.   

    select * from [table] where  日期字段 between dateadd(dd,-4,getdate()) and dateadd(dd,2,getdate()) 
      

  9.   

    你这个有什么意义啊!
    如果是算 >=5 和 <= 6 的,结果都是对的,假设一个日期@DATE ,如果不在上周五和本周四之间,那它也一定在某一个周五和周四之间,所以永远都对的declare @date datetimeset @date = '2005-07-07'
    select case when datepart(weekday,@date) < 5 Or datepart(weekday,dateadd(day,-6,@date)) > 6 Then 'YES'
                else 'NO'
           end
    如果是这样还有点谱