有人可以解釋下列sql代碼中會發生什麼嗎?使用除法運算符時,不理解sql server中的舍入行爲
申報@dividend數字(38,22)
申報@divisor數字(38,22)
聲明@otherDivisor詮釋
組@dividend = 1
集@divisor = 3
set @otherDivisor = 3
選擇鑄造(@dividend/@divisor爲數字(38,22)),@dividend/@otherDivisor
返回的結果是
0.3333330000000000000000 0.3333333333333333333333
我希望兩次計算的結果都一樣。
非常感謝您的回答。你是否知道有任何圍繞此行爲的方法? – ralf 2010-12-16 15:35:54
@Ralf:遵循正常的數學規則,就像在現實生活中乘以小數位(2dp x 3 dp給出6 dp)。浮動可能會更好,但會犧牲一些準確性。 – gbn 2010-12-16 15:55:33