Ich hatte mir mal per UDF Funktionen angelegt, die das casten vereinfachen:
roundC4 = Runden auf 4 Nachkommastellen
CuToDp = Currency to Double Precision
etc.
Aussehen tut das dann so:
Code:
B_SPROZ = case when B_SND=0 then 0 else roundc4(cutodp(1200)/cutodp(B_SND)) end,
oder so:
Code:
B_SAFAWJ = case when
B_SRND=0
then
roundc2( cutodp(0) + cutodp(B_ZUGWJ) )
else
case when
B_WJAHR=B_IJAHR
then
roundc2( cutodp(B_ZUGWJ)*cutodp(13-B_ZUGMON)/cutodp(B_SRND) )
else
roundc2(
case when
B_SRND<=12
then
cutodp(B_SRWVJ)*cutodp(B_AWERT-B_ABGWJ)/cutodp(B_AWERT)
+ cutodp(B_ZUGWJ)
else
cutodp(B_SRWVJ)*cutodp(B_AWERT-B_ABGWJ)/cutodp(B_AWERT) * cutodp(12)/cutodp(B_SRND)
+ cutodp(B_ZUGWJ)*cutodp(13-B_ZUGMON)/cutodp(B_SRND-B_ZUGMON+1)
end
)
end
end,
Edit: Mit Oracle z.B. gibt es diese Probleme nicht.