SQL中如何让百分比后面保留2位小数?
例:selectstr(convert(float,(@czcj/@ckrs)*100))+'%'as机试合格率输出显示:87%,但是想要后面保留两位小数如:87%.12...
例:select str(convert(float,(@czcj/@ckrs)*100))+'%' as 机试合格率
输出显示:87%,但是想要后面保留两位小数如:87%.12。
谢谢解答!
87.12%
declare @ckrs float
declare @czcj float
declare @bscj float
declare @hgrs float
declare @qkrs float
select @ckrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系'
select @czcj=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and 操作成绩>='60'
select @bscj=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and 理论成绩>='60'
select @hgrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and (理论成绩>='60' and 操作成绩>='60')
select @qkrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and (理论成绩='0' and 操作成绩='0')
select str(convert(float,(@czcj/@ckrs)*100))+'%' as 机试合格率,str(convert(float,(@bscj/@ckrs)*100))+'%' as 笔试通过率,str(convert(float,(@hgrs/@ckrs)*100))+'%' as 通过率,str(convert(float,(@qkrs/@ckrs)*100))+'%' as 缺考率 展开
输出显示:87%,但是想要后面保留两位小数如:87%.12。
谢谢解答!
87.12%
declare @ckrs float
declare @czcj float
declare @bscj float
declare @hgrs float
declare @qkrs float
select @ckrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系'
select @czcj=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and 操作成绩>='60'
select @bscj=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and 理论成绩>='60'
select @hgrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and (理论成绩>='60' and 操作成绩>='60')
select @qkrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and (理论成绩='0' and 操作成绩='0')
select str(convert(float,(@czcj/@ckrs)*100))+'%' as 机试合格率,str(convert(float,(@bscj/@ckrs)*100))+'%' as 笔试通过率,str(convert(float,(@hgrs/@ckrs)*100))+'%' as 通过率,str(convert(float,(@qkrs/@ckrs)*100))+'%' as 缺考率 展开
4个回答
展开全部
sqlserver:
select str((convert(float,(@czcj/@ckrs)*100)),5,2)+'%'
或者
select convert(varchar,convert(decimal(10,2),(@czcj/@ckrs)*100))+'%'
select str((convert(float,(@czcj/@ckrs)*100)),5,2)+'%'
或者
select convert(varchar,convert(decimal(10,2),(@czcj/@ckrs)*100))+'%'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我写了一个程序,不知道对你有没有帮助
declare @add decimal (4,4)
set @add=45/47
select @add
结果是 .0000,但是当我换成这样时:set @add=45.00/47时,结果就成了 .9574.然后再乘以百分数应该就可以有两位小数了。
declare @add decimal (4,4)
set @add=45/47
select @add
结果是 .0000,但是当我换成这样时:set @add=45.00/47时,结果就成了 .9574.然后再乘以百分数应该就可以有两位小数了。
追问
请问decimal可以改为float麽,如果可以怎么改?
declare @ckrs float
declare @czcj float
declare @bscj float
declare @hgrs float
declare @qkrs float
select @ckrs=count(*) from 计算机考试成绩201112 where 院系名称='旅游系'
select @czcj=count(*) from 计算机考试成绩201112 where 院系名称='旅游系' and 操作成绩>='60'
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似你这是MYSQL数据库啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |