Die Erklärung ist ganz einfach!

Besteht eine Rechnung aus 2 Integer-Werten, ist das Ergebnis wieder ein Integer-Wert (so lautet die Regel und nicht nur in SQL bzw. auf der IBM i).
Da für 9920, 12000 und 145000 keine Nachkommastellen angegeben wurden, werden diese Werte als Integer-Werte behandelt.

9920 / 12000 = 0,8266666...
Da das Ergebnis jedoch wieder ein Integer-Wert ist, werden die Nachkommastellen abgeschnitten, d.h. statt 0,826... mit 0 weitergerechnet.

Werden bei einer Zahl Nachkommastellen angegeben, so wird diese nicht mehr als Integer erkannt, sondern als Fließkomma interpretiert und das Ergebnis ist wiederum ein Fließkomma-Wert.

Du hast also die Möglichkeit die einzelnen Werte explizit z.B. auf Dezimal zu casten, oder einfach die erste Zahl mit 0 Nachkommastellen angeben:

9920,0 / 12000
Natürlich sollte man die Reihenfolge beachten, wird 145000 als Fließkomma interpretiert und die anderen beiden Werte als Integer, ist das Kind bereits in den Brunnen gefallen. Da keine Klammern gesetzt wurden wird zunächst 9920 / 12000 dividiert, und das Ergebnis (0) mit 145000 multipliziert. 0 * irgendwas = 0.

Ich gehe jedoch davon aus, dass dies nur ein Test war und die Spalten in der Datei nicht als Integer-Werte definiert sind, sondern als gepackte oder gezonte numerische Werte.

Kleiner Tipp, ich würde die Division immer am Ende durch führen, also:

9920,0 * 145000 / 12000
Birgitta