用sql 查询类似下面的语句:select round(1.00/3,2),结果是 0.330000,取了两位有效小数后要把后面多余的0去掉,得到0.33这样的结果,不知道用什么函数。

解决方案 »

  1.   

    select cast(round(1.00/3,2) as decimal(18,2))
                         
    -------------------- 
    .33(所影响的行数为 1 行)
      

  2.   


    求两位有效数字,我用的是循环,没想到更好的方法了
    declare @str nvarchar(20), @len int
    set @str = '0.0001232'
    set @len = charindex('.',@str)+1
    while charindex('0',@str,@len)=@len
    begin
    set @len=@len+1
    end
    select substring(@str,1,@len+1)
      

  3.   


    declare @s numeric(20,10) set @s = 2555.784000 select case when cast(@s as float) > cast(cast(@s as float) as INT) then cast(@s as float) 
                else cast(cast(@s as float) as int) end
      

  4.   

    select cast(round(1.00/3,2) as decimal(18,2))
    这个实现了,不错,学习
      

  5.   

    select cast(round(1.00/3,2) as decimal(18,2))这个牛B