Ich habe ein paar Zeilen in einer Test-Datenbank, wo Dollar-Zeichen mit dem Wert vorangestellt sind. Ich möchte jedoch die Werte in der name
Zeile der test1
Tabelle UPDATE
, wenn ich die folgende Abfrage zusammen warf er die sechs Reihen von Daten in der name
Spalte geleert ...PostgreSQL UPDATE Substring Ersetzung
UPDATE test1 SET name=overlay('$' placing '' from 1 for 1);
So „$ user“ wurde " "Wenn ich für diesen Spalten-/Zeilenwert beabsichtigte," Benutzer "zu werden.
Wie kombiniere ich UPDATE und einen Substr-Ersatz ohne die anderen Daten zu löschen?
Wenn es kein Dollarzeichen gibt, möchte ich, dass die Zeile unberührt bleibt.
Das Dollarzeichen tritt nur als das erste Zeichen auf, wenn es auftritt.
'name = ersetzen (Name, '$', '')' –
@a_horse_with_no_name Danke, das funktioniert. Leider nicht genug Reputation, um zu stimmen, obwohl ich neugierig bin, wie das geht, wenn das Dollarzeichen nur das erste Zeichen ist? Ich habe es versucht und es ersetzt Dollarzeichen unabhängig von der Position. Ich habe versucht 'UPDATE test1 SET name = ersetzen (name,' $ ',' ', von 1 für 1); 'ohne Erfolg; Wenn Sie es bitte als Antwort posten, nehme ich es gerne an. –