不管当前日期时间,
求 上周一 sql 语句

解决方案 »

  1.   


    set datefirst 1
    declare @d datetime;
    set @d=GETDATE();
    select DATEADD(DW,-6-DATEPART(DW,@d),@d);
      

  2.   


    师兄 我是 asp 里的sql语句 
    你贴的 我该怎么用?
      

  3.   

    会用asp拼SQL吗? 把他那段拼成一个string 执行就可以
      

  4.   

    不太懂,请支招
    我的表是info 
    title是文章题目
    我现在想达到分别显示 上周一、上周二、。。上周五 的文章
      

  5.   


    -- 上周一的
    select title from info 
    where DATEDIFF(DD,DATEADD(DW,-6-DATEPART(DW,getdate()),getdate()),title_date)=0;
      

  6.   

    titleddtime是你那个时间字段select * from info  
    where  titleddtime=DATEADD(day,-7,DATEADD(week, DATEDIFF(week, '', getdate()), ''))
    or     titleddtime=DATEADD(day,-5,DATEADD(week, DATEDIFF(week, '', getdate()), ''))
    or     titleddtime=DATEADD(day,-3,DATEADD(week, DATEDIFF(week, '', getdate()), ''))
      

  7.   


    我表里的 时间字段是date
    我把上面 改成
    select title from info 
    where DATEDIFF(DD,DATEADD(DW,-6-DATEPART(DW,getdate()),getdate()),date)=0
    没能返回数据;
    上周一应该是10号,我确定数据库里有10号的文章。继续期待
      

  8.   


    select * from info  
    where  DATEDIFF(dd,DATEADD(day,-7,DATEADD(week, DATEDIFF(week, '', getdate()), '')),'2011-01-10 00:00:00.000') =0
    or 
      DATEDIFF(dd,DATEADD(day,-5,DATEADD(week, DATEDIFF(week, '', getdate()), '')),'2011-01-10 00:00:00.000') =0
    or
      DATEDIFF(dd,DATEADD(day,-3,DATEADD(week, DATEDIFF(week, '', getdate()), '')),'2011-01-10 00:00:00.000') =0
      

  9.   

    declare @a datetime;
    set @a=GETDATE();
    select dateadd(wk,DATEDIFF(wk,0,@a)-1,0)
    -- - -!
      

  10.   


    select * from info  
    where  DATEDIFF(dd,DATEADD(day,-7,DATEADD(week, DATEDIFF(week, '', getdate()), '')),titleddtime) =0
    or 
      DATEDIFF(dd,DATEADD(day,-5,DATEADD(week, DATEDIFF(week, '', getdate()), '')),titleddtime) =0
    or
      DATEDIFF(dd,DATEADD(day,-3,DATEADD(week, DATEDIFF(week, '', getdate()), '')),titleddtime) =0把titleddtime改成你的字段名字啊