数据集0.16777777777777我想显示   
16.68%
和16.67%
分别是怎样写呀?

解决方案 »

  1.   

    ltrim(cast(col as numeric(12,2)))+'%'
      

  2.   

    ltrim(cast(col as decimal(12,2)))+'%'
      

  3.   

    select cast(@s*100 as dec(18,2))*1.0+'%'
      

  4.   

    declare @n as float
    select @n=0.16777777777777 select cast(cast(@n*100 as decimal(10,2)) as nvarchar(10)) + '%'            
    ----------- 
    16.78%
      

  5.   


    select ltrim(cast(0.16777777777777*100 as decimal(10,2)))+'%'
    --- 16.78%
      

  6.   

    select cast(cast(0.16777777777777*100 as decimal(18,2)) as varchar) + '%'
      

  7.   

    select ltrim(cast(0.16777777777777*100 as dec(18,2)))+'%'
    /**------------------------------------------
    16.78%(1 行受影响)
    **/select ltrim(cast(floor(0.16777777777777*10000)/100 as dec(18,2)))+'%'
    /**------------------------------------------
    16.77%(1 行受影响)
    **/
      

  8.   

    declare @s dec(18,10)
    set @s=0.16777777777777
    select cast(cast(@s*100 as dec(18,2)) as varchar(10))+'%'
    /*
    -----------
    16.78%(1 行受影响)*/
      

  9.   


    declare @n as float
    select @n=0.16777777777777 select cast(cast(@n*100 as decimal(10,2)) as nvarchar(10)) + '%'select substring(cast(@n*100 as nvarchar(20)),1,charindex('.',cast(@n*100 as nvarchar(20)))+2) + '%'/*            
    ----------- 
    16.78%(所影响的行数为 1 行)                      
    --------------------- 
    16.77%(所影响的行数为 1 行)*/