Einzelnen Beitrag anzeigen

Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
755 Beiträge
 
#12

AW: Firebird und Numeric fields

  Alt 22. Jul 2017, 12:58
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.
  Mit Zitat antworten Zitat