PDA

View Full Version : Sql REPLACE



tarkusch
29-07-17, 09:24
Hallo Forum,

ich wollte mit Sql in einem Char-Feld die Kostenstelle ersetzen
Das Feld KST ist 4,0



KST = 54
EXEC SQL
UPDATE Tmp_FILE
SET TXT1 = REPLACE(TXT1,
'&222',
:KST)


WHERE LFD = 1;

VORHER: TXT1 = 'Kostenstelle: &222 Firmennummer...'
NACHHER: TXT1 = 'Kostenstelle: 54 Firmennummer...'


In Rpg würde es so gehen %editc(KST:'X')
Wie kann ich mein Problem mit der Verschiebung der "Firmennummer" lösen in SQL lösen?

lg

Tarki

B.Hauser
29-07-17, 11:24
Was willst Du denn erreichen? Dass 0054 oder dass '54BlankBlank' anstelle von &222 steht?
Im ersten Fall musst Du die SQL-Funktion DIGITS() verwenden, im zweiten Fall die Funktion CHAR().
Eine andere Lösung wäre ein alphanumerisches Hilfsfeld, in der Du die Kostenstelle in der richtigen Aufbereitung einstellst und dieses Hilfsfeld dann in Deinem SQL-Statement verwendest.

Wenn man SQL eine Zahl oder numerisches Feld in einen String einfügen lässt, wird die Zahl automatisch in VARCHAR() konvertiert.

Birgitta