SELECT convert(varchar(10),(CONVERT(float,50)/convert(float,100))*100)+'%' 这个可以语句可以得到想要得结果50%,但是有没有更好的方法呢,感觉写的很笨没有效率! 

解决方案 »

  1.   

    SELECT convert(varchar(10),50./100)*100)+'%'
      

  2.   

    select cast(cast(50 * 100.0 / 100 as decimal(18,0)) as varchar) + '%'
    /*
                                    
    ------------------------------- 
    50%(所影响的行数为 1 行)
    */
      

  3.   

    SELECT ltrim(convert(dec(10,2),50./100*100))+'%'
    ------------------------------------------
    50.00%(1 行受影响)
      

  4.   

    select LTRIM(50*1.0/100*100)+'%' 
      

  5.   

    SELECT ltrim(cast(50*100.0/100 as int))+'%' 
    /*
    ------------- 
    50%
    */
      

  6.   


    declare @id int
    set @id=50
    select CAST (@id as varchar(50))+'%'
      

  7.   

    select ltrim(cast(50*100.0/100 as dec(18,2))+'%'
    百分比保留2位小数
      

  8.   

    SELECT ltrim(50*100/100 )+'%' 
    /*
    ------------- 
    50%
    */