本帖最后由 LZOMLZOM 于 2013-12-25 15:18:30 编辑

解决方案 »

  1.   

    where rq between ‘2013-12-23 16:00:00’and ‘2013-12-24 16:00:00’
      

  2.   

    select *
     from tb
    where rq between convert(date,dateadd(dd,-2,getdate()))+' '+'16:00:00.000' and convert(date,dateadd(dd,-2,getdate()))+' '+'16:00:00.000'
      

  3.   

    select *
    from tb
    where rq <= dateadd(day,-1,convert(varchar(10),GETDATE(),120)+' 16:00:00') --昨天16点
      and rq >= dateadd(day,-2,convert(varchar(10),GETDATE(),120)+' 16:00:00') --前天16点
      

  4.   


    修改一下
    where rq between  CONVERT(VARCHAR(10),convert(date,dateadd(dd,-2,getdate())))+' '+'16:00:00.000'  and SELECT CONVERT(VARCHAR(10),convert(date,dateadd(dd,-1,getdate())))+' '+'16:00:00.000' 
      

  5.   

    如果sqlserver的版本低于2008,就用:CONVERT(VARCHAR(10),convert(varchar(10),dateadd(dd,-2,getdate()),23))+' '+'16:00:00.000' 
      

  6.   


     select * from [tablename] where rq 
    between 
    convert(varchar(10),GETDATE()-2,121)+' 16:00:00.000' 
    and convert(varchar(10),GETDATE()-1,121)+' 16:00:00.000'
      

  7.   

    select * from  tb where rq between CONVERT (varchar(11), dateadd(dd,-2,GETDATE()),111)+' 16:00:00' and  CONVERT (varchar(11), dateadd(dd,-1,GETDATE()),111)+' 16:00:00'