0
我有一個很奇怪的SQL問題。我有一個數字爲22的單元格,當我想將它舍入時,結果不正確。SQL四捨五入的錯誤
如果我嘗試使用數字而不是單元格,代碼運行良好。
select Mora2, round(Mora2/30,0)*30, mora2+1,
round((mora2+1)/30,0)*30, round(convert(float,mora2)/30,0)*30
from Trimestre
的,其結果是
Mora2 (No column name) (No column name) (No column name) (No column name)
22 30 23 30 30
如果我嘗試次數,代碼效果很好。
select round(22/30,0)*30 as Mora2
Mora2
0
爲什麼可能呢?
謝謝!
Mora2的數據類型是什麼?第二個例子是整數,你會得到一個不同的結果,如果你做22.0/30 –
嗨,詹姆斯!數據類型是float!另外,我有28573個寄存器,但只有866個這樣的錯誤!你知道那是爲什麼嗎? – mschapiro