日期:2014-05-17  浏览次数:20624 次

求助sqlserver显示百分数
  
  系部         在校生人数 迟到人次 迟到率
信息工程系            80       13           0
如何让迟到率以百分比显示

------解决方案--------------------
select convert(varchar,convert(decimal(10,2),迟到人次*1.0/在校生人数*100))+'%' 
------解决方案--------------------

select [迟到率]= left(cast(cast([迟到人数] as numeric(10,1)) /[人数]*100 as varchar), 5)+'%' from #1
------解决方案--------------------


引用:
引用:select convert(varchar,convert(decimal(10,2),迟到人次*1.0/在校生人数*100))+'%'

将 varchar 转换为数据类型 numeric 时出现算术溢出错误。


將varchar 改為 varchar(11)

或者:
select 系部,ltrim(Convert(numeric(9,2),迟到人次*100.0/在校生人数))+'%' As 迟到率 From tb