This post haben den folgenden Code:SQL Server: Warum ist Float genauer als Dezimal
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
float Mit dem Ausdruck ergibt 1. Mit Dezimal, wird der Ausdruck mit einem gewissen Sammlung von 9s nach dem Komma . Warum liefert Float in diesem Fall die genauere Antwort? Ich dachte, dass Dezimal ist genauer/genau per Difference between numeric, float and decimal in SQL Server und
Danke. Das [Post] (http://www.sqlservercentral.com/Forums/Topic522397-360-1.aspx#bm522459) wurde mir über die Verwendung von "Dezimal" (anstelle von "float") für Finanzdaten pausiert. Aus Ihrer referenzierten Dokumentation habe ich [diesen Artikel] (https://msdn.microsoft.com/en-us/library/ms190309.aspx) gefunden, die float als höhere Priorität anzeigt. Daher wird das calc in der select-Anweisung in ein float umgewandelt. Wenn ich zurück in "dezimal" umwandle, wird der entsprechende Wert wie angegeben zurückgegeben. – James