Forum
verschiedene incompatible Datentypen zu joinen ist immer performancefressend. Du kannst versuchen, den Datentyp in einem nested S ELECT zu ändern und dann erst zu joinen.
S ELECT … from
( S ELECT benötigte spalten, right(‚000…‘ !! rtrim … ) as joincol from table1 )
inner join table2
ON joincol = RkiV11_LANR …
Auch D igits setzt führende Nullen voran. Prüf doch mal, ob Du nicht
statt R ight(‚000000000‘ !! R trim(CaST(RtnV08_BEtrID AS CHAR(9))),9) nicht einfach
Digits(RtnV08_BetRID) schreiben kannst.
DIe UDF erlaubt keinen begin atomic / end, sondern nur einen Return – Block.
Sowas sollte funktionieren:
c reate function fuINIT ( wert varchar(80),zeichen varchar(1),
  lng int, richtung varchar(1))                Â
returns varchar(100)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
deterministic no external action contains sql        Â
return                                  Â
case when ( richtung = ‚H‘ )Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
   then wert concat repeat(zeichen,lng)           Â
   else wert                             Â
end;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
end #Â Â Â Â Â
Du nennst Deine Variable übrigens einmal LEN und einmal LNG.                               Â