Feldinhalte löschen

In einer SQL-Server2000 Datenbank sind in einer Spalte einer Tabelle mehrere Felder, die mit „Betr.:“ beginnen und anschließend von einer Buchstaben-/Zahlenkombination vervollständigt werden. Ich möchte in allen Zellen, die mit „Betr.:“ beginnen, diese Zeichenfolge löschen. Wie kann ich das realisieren?

Danke im Voraus.

Gruß Didi

Moin, Didi,

 Update 

set =Null
where like „Betr.:*“

Gruß Ralf

Hi Didi,

guck nochmal nach, kann sein, dass der Beliebigkeitsstellvertreter ein %-Zeichen ist.

Gruß Ralf

Hallo Ralf,

in Deinem Beispiel wird das ganze Feld gelöscht, es soll aber nur das „Betr.:“ gelöscht werden. Der Rest des Feldes muss erhalten bleiben.
z.B. Feldinhalt vorher: „Betr.: Faktor1“
nach der Bereinigung „Faktor1“.

Gruß Didi

1 Like

Moin, Didi,

Feldinhalt vorher: „Betr.: Faktor1“
nach der Bereinigung „Faktor1“.

dann wird wohl nichts anderes bleiben als sequentielle Verarbeitung: Satz für Satz holen, Feldinhalt prüfen, Feldinhalt ändern, zurückschreiben. In Access wüsste ich, wie es mit VBA geht :frowning:

Gruß Ralf

Hallo Didi,

in Deinem Beispiel wird das ganze Feld gelöscht, es soll aber
nur das „Betr.:“ gelöscht werden. Der Rest des Feldes muss
erhalten bleiben.

ersetze NULL durch eine IIF (Wenn) Bedingung.

z.B. Feldinhalt vorher: „Betr.: Faktor1“
nach der Bereinigung „Faktor1“.

je nach verwendetem Frontend mit der Funktion MID oder SUBSTR, oder TEIL oder …

IIF([FELD] like „Betr*“, MID([Feld],7),[FELD])

Grüße aus Rostock
Wolfgang
(Netwolf)

dann wird wohl nichts anderes bleiben als sequentielle
Verarbeitung: Satz für Satz holen, Feldinhalt prüfen,
Feldinhalt ändern, zurückschreiben. In Access wüsste ich, wie
es mit VBA geht :frowning:

Hallo Ralf,
was ist das denn für ein Quark - irgendwas SQL-ähnliches wird das SQL-Dingens von Microsoft doch wohl können, dasfür sind Datenbanken ja wohl da. Ungetestet:

UPDATE
 tabelle
SET
 betr\_feld = substr(betr\_feld, 7)
WHERE
 betr\_feld like 'Betr.: %';

gruss
bernhard

2 Like

Hallo Bernhard,
vielen Dank. Das war der Kick den ich brauchte. Auf Deinem Weg war ich auch. Die richtige Lösung lautet:
UPDATE tabelle
SET
betr_feld = substring(betr_feld, 8, 243)
– (ab 8. Position des Feldes mit der Länge 243 Zeichen)
WHERE
betr_feld like ‚Betr.: %‘

Gruß
Didi

Hallo,
funktioniert hätte auch

UPDATE tabelle SET betr\_feld = REPLACE(betr\_feld, 'Betr.: ', '')
WHERE betr\_feld like 'Betr.: %'

MfG Dominik

1 Like