Also generell gilt normalerweise das die Positionen bei Punktrechnung beliebig tauschen kannst.
MS
SQL scheint den "Bruch" (12/100 bzw. 0,5/100) nicht zu erkennen und zieht einfach die Punktrechnung vor. Daher bekommst du falsche und verschiedene Ergebnisse:
select 12/100*0.5 => 12/50 = 0.24
select 0.5/100*12 => 0.5/1200 = 0.00041666
Normalerweise wäre 0.06 das richtige Ergebnis.
bzw.
select 0.1*(12/100*0.5) => 0.1*(12/50) = 0.1*0.24 = 0.024
select 0.1*(0.5/100*12) => 0.1*(0.5/1200) = 0.1*0.00041666 = 0.000041666
Normalerweise wäre 0.006 das richtige Ergebnis.
Du müsstest also schreiben (ungetestet):
select (12/100)*0.5 => 0.12*0.5 = 0.06
select (0.5/100)*12 => 0.005*12 = 0.06
bzw.
select 0.1*(12/100)*0.5 = 0.006
select 0.1*(0.5/100)*12 = 0.006