问题描述
- SQLServer:两个相除结果小于1,如何得到正确结果。
- declare @a decimal(184)
set @a=6/7
print @a为什么得到的结果为:0.0000
如果我想得到0.8571应该怎么写
解决方案
你可以试试用real或者float类型来定义。
或者你把除法运算改成6.0/7.0试试。
希望能帮到你。
解决方案二:
begindeclare @a decimal(184)set @a=6*1.0/7print @aend;
解决方案三:
set @a=6/7;//6/7是取整因为@a是decimal的所以获取的是0.0000;
你set @a=6%7;//看看这样是取余数
解决方案四:
67都int整形,得到的结果也是int整形,所以6/7的结果是0,又因为你的decimal设置所以结果会是0.0000;整形相除时想得到小数值,必须有一个参数不是整形的,可以6/7.0或6.0/7或6.0/7.0这都是可以的
解决方案五:
把6或者7换成6.0或者7.0即可。
解决方案六:
real或者float类型来定义。。
时间: 2024-10-01 13:52:34