select u.fullname ,u.city,u.prov,u.zone,o.id ,o.ondate ,d.prodname from orders as o left join userinfo as u on o.memberid=u.memberid  left join orderdetail as d on o.id = d.orderid  where o.memberid ='CN60008767' and o.addOrderStat =2 and o.ordertype = 1 这是一条可执行的语句,我想加个条件:
需求如下:orders 表里有个ondate字段,如字段值是2008-01-01 我想查询他48小时内的记录。请问条件怎么加上去

解决方案 »

  1.   

    --TRY
    AND DATEDIFF(H,ondate,GETDATE())<=48
      

  2.   

    datediff(hh,ondate,getdate()) <= 48
      

  3.   

    --參數錯了
    DATEDIFF(HOUR,ondate,GETDATE())
      

  4.   

    select u.fullname ,u.city,u.prov,u.zone,o.id ,o.ondate ,d.prodname 
    from orders as o 
    left join userinfo as u on o.memberid=u.memberid  
    left join orderdetail as d on o.id = d.orderid  
    where o.memberid ='CN60008767' and o.addOrderStat =2 and o.ordertype = 1 
    and DATEDIFF(hh,o.ondate,GETDATE())<=48
      

  5.   


    select u.fullname ,u.city,u.prov,u.zone,o.id ,o.ondate ,d.prodname from orders as o left join userinfo as u on o.memberid=u.memberid  left join orderdetail as d on o.id = d.orderid  where o.memberid ='CN60008767' and o.addOrderStat =2 and o.ordertype = 1 and DATEDIFF(HOUR,o.ondate,getdate())<=48有错误呢
      

  6.   

    是不是mysql时间函数的错误?
      

  7.   

    这里是mssql,差个字母,差之千里.
      

  8.   


    select u.fullname ,u.city,u.prov,u.zone,o.id ,o.ondate ,d.prodname 
    from orders as o 
    left join userinfo as u on o.memberid=u.memberid  
    left join orderdetail as d on o.id = d.orderid  
    where o.memberid ='CN60008767' and o.addOrderStat =2 and o.ordertype = 1 
    and DATEDIFF(o.ondate,Now()) <=2郁闷似乎是这样