在sql中两数相除为什么等于1,小弟我要保留小数的如何写
在sql中两数相除为什么等于1,我要保留小数的怎么写?convert(float,a.Value)/SUM(convert(float,a.Value))2
在sql中两数相除为什么等于1,我要保留小数的怎么写?
convert(float,a.Value)/SUM(convert(float,a.Value))
24 / 101
[解决办法]
用double型的
[解决办法]
select 24.00/101
[解决办法]
你如果输入的是整数的形式,计算机会当成整数处理,结果也输出的是整数。
如果你想让计算机当成浮点数处理(输出会是浮点数,所以会带小数点之类的),那就需要在整数后面加.0
两个数做除法,有一个是浮点数就够了。
26/25,这结果就是1了
26.0/25,这结果就是一点多了。
[解决办法]
都用float
[解决办法]
[解决办法][解决办法]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就可以了。
[解决办法][解决办法]*1.00 就ok吧