在某个与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');
答案 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');