你用 datepart 不可以吗

解决方案 »

  1.   

    convert(varchar(5),rq,114)<= '17:00'
      

  2.   

    right(convert(varchar(13) , rq , 120),2) <= '17'
    改为:
    convert(varchar(5),rq,114)<= '17:00'
      

  3.   

    SELECT 
         dpxstz.hth,
         bmda.bmmc,
         convert(varchar(10),rq,120),    
         sum(dpxstz.xssl) as t_xssl,      
         sum(dpxstz.cxsje) as t_xsje,  
         sum(dpxstz.xj) as t_xj,
         sum(dpxstz.ysk) as t_ysk,
         sum(dpxstz.sswr) as t_sswr,
         sum(dpxstz.xszk) as t_xszk
    FROM dpxstz  ,bmda
    WHERE
    dpxstz.bmh=bmda.bmh and 
         ( dpxstz.rq >= :开始日期 ) and        
         ( dpxstz.rq <= :结束日期 ) and 
         right( convert(varchar(13) , rq , 120) , 2) <= '17'
    group by hth,bmmc,convert(varchar(10),rq,120)