--SQL中的相除SELECT CASE WHEN ISNULL(A+B,0)<>0 THEN LTRIM(CONVERT(DEC(18,2),A*100.0/(A+B)))+'%' ELSE '' END AS '百分数' FROM TB
-- 百分比的不同格式 select LTRIM ( CONVERT ( DEC ( 18 , 2 ), 42 * 100.0 / 96 )) + ' % ' AS ' 百分数string ' , -- DEC=decimal CONVERT ( decimal ( 10 , 2 ), 42 * 100.0 / 96 ) AS ' 百分数dec ' , -- 100 与 100.0是不一样的 CONVERT ( decimal ( 10 , 2 ), 42 * 100 / 96 ) AS ' 没有保留到小数点 ' -- from Tb order by 百分数dec desc -- 43.75% 43.75 43.00 -- 方法二: Select ( Convert ( varchar ( 50 ), Round ( 42 * 100.0 / 96 , 3 )) + ' % ' ) as 百分比 -- from A -- 43.750000%