Ich brauche den Ausgang mit 2-stellig wie 2.39
, aber ich habe den Ausgang 2.3980815347721822541966
. Was ist das Problem, das ich nicht verstehen kann. Hier ist meine Abfrage.Warum meine Ausgabe ist 2.3980815347721822541966 statt 2.39
SELECT M.Description,A.Target,A.Actual,
CASE
WHEN A.Target > 0 THEN A.Actual/CONVERT(DECIMAL(18,2),A.Target)
ELSE 0
END Achievement
FROM (
SELECT * FROM ProcessData PD
WHERE
ProcessYear = 2015 AND ProcessMonth = 1
AND DepotID = 6 AND ModuleID =1
) A
LEFT OUTER JOIN Measure M
ON M.ID = A.MeasureID
Welches RDBMS und was ist der Datentyp von A.Actual? Was haben Sie in der Dokumentation des RDBMS über Datentypkonvertierung und arithmetische Logik gefunden? Beim nächsten Mal bitte zeigen Sie etwas Aufwand und formatieren Sie Ihre Frage, damit wir Ihnen helfen können! – Pred
Mögliches Duplikat von [Ist Fließkomma-Mathematik gebrochen?] (Http://stackoverflow.com/questions/588004/is-floating-point-math-broken) –
Welche Art der Konvertierung muss ich die Ausgabe in zwei Ziffern machen? – user3510330