在sql中两数相除为什么等于1,小弟我要保留小数的如何写
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
------解决方案--------------------------------------------------------select 24.00/101
------解决方案--------------------------------------------------------你如果输入的是整数的形式,计算机会当成整数处理,结果也输出的是整数。
如果你想让计算机当成浮点数处理(输出会是浮点数,所以会带小数点之类的),那就需要在整数后面加.0
两个数做除法,有一个是浮点数就够了。
26/25,这结果就是1了
26.0/25,这结果就是一点多了。
------解决方案--------------------------------------------------------都用float
------解决方案--------------------------------------------------------探讨select 24.00/101
------解决方案--------------------------------------------------------探讨select 24.00/101
------解决方案--------------------------------------------------------select round((Convert(float,a)/
sum(Convert(float,a))),2)from table------解决方案--------------------------------------------------------先用convert把两个数转换成double类型的,再相除
------解决方案--------------------------------------------------------[Quote=引用:]
先用convert把两个数转换成double类型的,再相除[/Quote]好像是cast 吧
------解决方案--------------------------------------------------------cast(Value as float)
------解决方案--------------------------------------------------------convert(float,a.Value)/convert(float,SUM(a.Value))
得除数和被除数都必须转化为float就可以了。
------解决方案--------------------------------------------------------探讨convert(float,a.Value)/convert(float,SUM(a.Value))
得除数和被除数都必须转化为float就可以了。------解决方案--------------------------------------------------------*1.00 就ok吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询