1、见分进角怎么写啊?例如  10.12  为10.2
2、分凑整,凑成5的倍数例如:10.12 凑成10.15,10.16凑成10.20

解决方案 »

  1.   

    实现的方法很多,用系统函数拼凑一下就可以,下面是随便拼凑的declare @d decimal(18,2)
    set @d=10.12
    --1
    select cast(ceiling(@d*10)/10 as dec(18,1))--2
    select case when @d*100%10>5 then round(@d,1) else cast((floor(@d*10)*10+5)/100 as dec(18,2)) end
      

  2.   

    第二个问题的另一种解法declare @a decimal(16,2)set @a=10.19select 
    case when (@a*100)%5=0 
    then @a
    else
        case when @a>round(@a,1) 
    then round(@a,1)+0.05 
    else 
    round(@a+0.05,1) 
    end
    end
      

  3.   


    declare @d decimal(16,2)
    set @d=10.12
    --问题一
    select case when @d*100/1000>0 then (Floor(@d*10)+1)/10 end