0
浮法更準確
This post具有下面的代碼:SQL服務器:爲什麼不是十進制
DECLARE @A DECIMAL(3, 0), @B DECIMAL(18, 0), @F FLOAT
SET @A = 3
SET @B = 3
SET @F = 3
SELECT 1/@A * 3.0, 1/@B * 3.0, 1/@F * 3.0
SELECT 1/@A * 3 , 1/@B * 3 , 1/@F * 3
使用浮動,表達式的值爲1.使用十進制,表達小數點後的計算結果爲787-9的一些集合。爲什麼float在這種情況下會得出更準確的答案?我認爲Decimal更準確/精確地根據Difference between numeric, float and decimal in SQL Server和Use Float or Decimal for Accounting Application Dollar Amount?
謝謝。那個[post](http://www.sqlservercentral.com/Forums/Topic522397-360-1.aspx#bm522459)給了我暫停使用'decimal'(而不是'float')財務數據。從你的參考文檔中,我發現[這篇文章](https://msdn.microsoft.com/en-us/library/ms190309.aspx)顯示浮動更高的優先級。因此,select語句中的calc被轉換爲'float'。如果我將其轉換回「decimal」,它會返回與您所記錄的相同的值。 – James