A * B * C * D * E * F * G * H -- alles numeric(18.2)
ergibt dann also numeric(18.16)
?
Ich hätte eher erwartet, dass hinten das raus kommt, was als "größter" Typ rein ging.
ja, so kommt das raus , ist aber glaube ich
SQL Standard
das Problem löst man mit einer Cast "Orgie" um die Overflows die sich bei längeren Berechnungen ergeben abzufangen
also
Code:
cast(cast(cast(a*b as numeric(18,4))*c as numeric(18,4))*d as numeric(18,4))
http://www.firebirdsql.org/file/comm..._datatypes.pdf