PDA

View Full Version : SQL - Zeichen an bestimmte Stelle schreiben



Seiten : [1] 2

programmer400
19-07-18, 13:17
Ich müsste in eine Datei, bei der der gesamte Datensatz als ein Feld definiert ist (es ist eine Schnittstellendatei, da ist das so erforderlich) an eine bestimmte Stelle Zeichen schreiben.

D.h. ab Stelle 15 eine 6stellige Ziffernfolge.

Wie geh ich das an?

Pikachu
19-07-18, 13:49
Per UPDATE mit SUBSTR und CONCAT ...

programmer400
19-07-18, 14:19
Sorry, ich schaffs nicht. Entweder schreibt er mir nur die Zeichenfolge ins Feld und löscht den Rest, oder er schreibt mit die Zeichenfolge an Feldende.

Dschainers
19-07-18, 14:24
update yourFile set substr(field1, 5, 1) = '1' where blah

Google

programmer400
19-07-18, 14:35
update testlib/testfile set substr(testfeld, 4, 6) = 'TEST'

Da bringt er die Meldung "token ungültig"

Dschainers
19-07-18, 14:42
Da hatte ich das Falsche kopiert:

update yourFile set field1 = concat(substr(field1, 1, 4), concat('1', substr(field1, 6, 15))) where blah

Dschainers
19-07-18, 14:46
der 2. substr ist der Rest des Feldes, der wieder hinten dran muß.

Dschainers
19-07-18, 14:54
update lib/testfile
set testfeld = concat(substr(testfeld, 5, 4),
concat('XXXX', substr(testfeld, 9, 60)))

Pikachu
19-07-18, 15:11
Feld bis vor der Stelle plus neuer Inhalt an der Stelle plus Feld ab nach der Stelle:

UPDATE Datei SET Feld = SUBSTR(Feld, 1, 14) CONCAT '123456' CONCAT SUBSTR(Feld, 21)

programmer400
19-07-18, 15:13
Besten Dank, so hats funktioniert.