现在有字段adddate
类型为smalldatetime类型,但里面既有2007-10-12 也有2003-10-12 10:10:25两种纪录方式
在坛子里找了很多取其纪录的方法都无效。请教一下,如何写能够按日期取到七天内的数据。希望高手指导。-----------------------------------
附我试过的语法:
select   *   from   table   where   date   >   DATEADD(wk,   DATEDIFF(wk,0,getdate()),-7)   and   date   <   DATEADD(wk,   DATEDIFF(wk,0,getdate()),0)
这个不起作用。select * from tb where datediff(day,日期字段,getdate()) = 0
这条也不能取当日数据

解决方案 »

  1.   

    --本周
    select * from tb where datediff(week,日期字段,getdate()) = 0 --从今天之前到今天的七天时间
    select * from tb where datediff(day,日期字段,getdate()) <= 7 
      

  2.   

    select   *   from   #   where  datediff(day,adddate,getdate()) between 0 and 7
      

  3.   

    两位,上面的两种方法都没有用。
    类型为smalldatetime类型,但里面既有2007-10-12 也有2003-10-12 10:10:25两种纪录方式
    会不会是表中的数据问题,我表中2004年以前的数据是2003-10-12 10:10:25这种格式,后来换了SQL,就改成2003-10-12 的格式了。
    这样会有影响吗?
      

  4.   

    smalldatetime应该只有一种表示格式,不会有两种
      

  5.   

    smalldatetime应该是2003-10-12 这种格式吗?
    我上面提过,因为升级的SQL数据库,所以里面既有2003-10-12 10:10:25这种格式,也有2003-10-12这种格式。
    还真不知道怎么改了。