在sql server中显示无小数结果

时间:2015-08-18 12:47:06

标签: sql-server

在某个与SQL Server 2008一起使用的脚本中(虽然我不确定版本),我得到的结果如3.000000000000000%; 0.000000000000000%; 4.000000000000000%;等等。而我希望他们像3%; 0%; 4%;等等

我已经尝试将CAST作为整数,但这并不起作用。我想因为我想要'%'在结果中。

有没有人有想法或有人能告诉我它在SQL Server中是不可能的?

脚本如下

SELECT name, CAST(ROUND(population*100/(SELECT population 
                                        FROM world 
                                        WHERE name='Germany'), 0) as varchar(20)) +'%' 
FROM world 
WHERE population IN (SELECT population 
                     FROM world WHERE continent='Europe');

screenshot

1 个答案:

答案 0 :(得分:1)

你应该试试这个。你必须使用INT

SELECT name, CONVERT(varchar(20), CAST(ROUND(population*100/(SELECT population 
                                        FROM world 
                                        WHERE name='Germany'), 0) as INT))+'%'
FROM world 
WHERE population IN (SELECT population 
                     FROM world WHERE continent='Europe');