MrP*_*ink 0 sql sql-server sql-server-2008
这是我正在运行的查询
Select (100/18)*18
Run Code Online (Sandbox Code Playgroud)
我得到的答案是90.我已经尝试将每个数字声明为小数,并且我得到了值100.0008,但是当我使用变量作为浮点数计算时,答案在'100'是正确的,所以有人知道为什么SQL计算像这样?
因为它会首先影响到paranthesis
所以
Select (100/18)*18
Run Code Online (Sandbox Code Playgroud)
将(100/18)= 5.555555但它假设两个数字都为int因此它将结果转换为int所以它将返回5
所以现在 5*18 = 90
如果您想要正确的结果,请改为执行此操作 Select (100*18)/18
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |