请问查询上周数据的sql(周一到周日,不是周日到周六)语句怎么写,谢谢
例如:select * from 考勤 where 日期??????

解决方案 »

  1.   


    set language N'Simplified Chinese'
    select dateadd( 1- datename(weekday, getdate()),cast(convert(varchar(10),getdate(),120) as datetime), dateadd( 8- datename(weekday, getdate()),cast(convert(varchar(10),getdate(),120) as datetime)在家没试过  where 日期 between
    上面的查询应该可以了
      

  2.   

    看你如何界定星期日,以下供参考select * from 考勤 where 日期 between GETDATE()-5-datepart(dw,GETDATE()) and GETDATE()+1-datepart(dw,GETDATE())
      

  3.   

    联机帮助t
    参:SET DATEFIRST
      

  4.   

    SET DATEFIRST 1请问写在什么地方啊
      

  5.   


    select * from 考勤 where datediff(week,日期,getdate())=1
      

  6.   

    select * from 考勤 where isworkday(日期)
    编写  isworkday()函数即可
      

  7.   

    select * from 考勤 where lastweek(today)
    编写lastweek()函数
      

  8.   

    select * from 考勤 
    where 日期 between convert(nvarchar(10),getdate()-datepart(WEEKDAY,getdate()-5),120) 
    and convert(nvarchar(10),getdate()-datepart(WEEKDAY,getdate()),120)convert(nvarchar(10),getdate()-datepart(WEEKDAY,getdate()-5),120)上周一
    convert(nvarchar(10),getdate()-datepart(WEEKDAY,getdate()),120)上周六
      

  9.   

    select * from 考勤 where DATEPART(WEEKDAY,getdate()) <8 and DATEPART(WEEKDAY,getdate()) > 1