例如两个int类型相除:
Select 7/2 结果是3,如何返回3.5 ?
Select 7/4 结果是1,如何返回1.5(小数大于5的返回5,小于5的返回0) ?

解决方案 »

  1.   

    Select cast(7.0/2 as float)
    -------
    3.5
      

  2.   

    cast(int as float)
    -----
    select cast(7 as float)
    -----
    7.0
      

  3.   


    if(select 7*1.0/2-7/2>0.5)
    select 7.0/2+0.5
      

  4.   

    select 7.0/2
    Select 7/2.0select 7/4+case( when (7/4.0-7/4)>=0.5 then 0.5 else 0 ) end  
      

  5.   

    select (case when ROUND(7.0/2, 1) -(7/2)>=0.5 then ROUND(7.0/2, 1) else (7/2) end ) as num
      

  6.   

    select (case when round(7.0/2, 1) -(7/2)>=0.5 then (7/2)+0.5 else (7/2) end ) as num
      

  7.   

    把除数转换成float应该就可以了
      

  8.   

    select convert(float,7.0/2)
    select cast(7.0/2 as float)
      

  9.   

    例如两个int类型相除:
    Select 7/2 结果是3,如何返回3.5 ?
    Select 7/4 结果是1,如何返回1.5(小数大于5的返回5,小于5的返回0) ?select cast(7 as float)/2