sql server 2000中,我想以0.5向上取整,
如 :
0.0 取整后为 0,
0.0<@x<=0.5 取整后为 0.5,
0.5<@x<=1  取整后为 1,
1<@x<=1.5  取整后为 1.5
.......
以此类推。。怎么实现?望越简洁越好!
sql取整

解决方案 »

  1.   


    select floor(@number)+case when @number-floor(@number)>=0.5 then 1 else 0.5 end 
    2008行,不知道2000行不
      

  2.   


    不行啊,呜呜。。,@number=0时候 应该是 0 的,但运行成0.5了,@number=0.5时候 应该=0.5 的,但成1了,
    强力思索中。。
      

  3.   

    select case  ROUND(@t,0)-CAST(@t as int) when 0 then ROUND(@t,0)+0.5 else ROUND(@t,0) end
      

  4.   

    select  case  ROUND(@t-0.1,0)-CAST(@t as int) when 0 then ROUND(@t-0.1,0)+0.5 else ROUND(@t,0) end
      

  5.   


    select ceiling(@number*2)/2不知道2000支持ceiling函数不...
      

  6.   

    select  case  when @t=0.0 then CAST(@t As int)  when ROUND(@t-0.1,0)-CAST(@t-0.1 as int)=0 then ROUND(@t-0.1,0)+0.5 when ROUND(@t-0.1,0)-CAST(@t-0.1 as int)=1 then ROUND(@t,0) end