Arithmetischer Überlauferrors, der den Schwimmererrors in sql umwandelt

Ich bekomme diesen Fehler

Arithmetischer Überlauferrors Umwandlung von Float in datatyp numerisch

wenn ich versuche, meine view zu laufen, aber nicht sicher, was mache ich falsch mit meiner Berechnung. Ich habe recherchiert, konnte es aber noch nicht lösen.

Hier ist die Codezeile, die den Fehler verursacht:

ISNULL(CAST(CAST(TOTAL_APPTS.APPT_CNT AS FLOAT) / TOTAL_RECS.PAT_CNT AS NUMERIC(3, 2)), 0) AS [CONVERSION RATE] 

Ihre Präzisions- und Maßstabsargumente für NUMERIC sind sehr klein. Hast du versucht, diese zu erhöhen? Ihr numerischer Wert kann nur Zahlen bis zu 9,99 handhaben.

Du solltest diese Seite lesen:

http://msdn.microsoft.com/en-us/library/ms187746.aspx

Es ist zu viel, um hier zu erklären, aber im Grunde genommen ist das erste Argument (Präzision) die maximale Anzahl von Ziffern (in deinem Fall 3) und das zweite Argument (Skala) ist die Anzahl der Ziffern rechts vom Dezimalpunkt, was immer dauert weg von der Anzahl der Ziffern, die du links vom Dezimalpunkt haben kannst. Also in deinem Fall, 3-2 = 1 Ziffern links vom Dezimalpunkt, weshalb dein Maximalwert nur 9,99 sein kann.