Update von nur einem Teil eines Wertes in einer Spalte?

Hallo liebe SQL Gemeinde,

ich moechte in einer Tabelle in einer Spalte einen Wert aendern.
Und das mache ich logischer Weise so: Update Tabellexyz set spalteA =‘wert1’ where SpalteB =‘Bedingung’

Nun moechte ich aber nur einen Teil des Wertes in der Spalte aendern, geht das ueberhaupt?

zb. der Wert einer Spalte setzt sich aus “TB 1.90” zusammen. Und was ich aendern moechte ist nur das “TB”, so das es hinter her zb. so aussieht “Buechersortiment 1.90”

LG Bulli

Nein, wie soll sowas gehen?

test=# create table bulli (spalte text);
CREATE TABLE
test=*# insert into bulli values ('TB 1.90');
INSERT 0 1
test=*# update bulli set spalte = regexp_replace(spalte,'TB', 'Buechersortiment');
UPDATE 1
test=*# select * from bulli ;
        spalte
-----------------------
 Buechersortiment 1.90
(1 row)

Andreas

Dann kommt bei mir die Fehlermeldung das es regexp_replace nicht als Funktionsname erkannt wird?

edit: ich nutze den Enterprise 7.0

Keine Ahnung, was das ist. Hier geht es um PostgreSQL, und das kann seit etlichen Versionen regexp_replace.

Andreas

Ich habe den Thread mal in das äh, einigermassen passende Forum für andere Datenbanken verschoben. Du bist hier trotzdem im falschen Forum und solltest vielleicht den Support des Herstellers deiner Datenbank bemühen :wink:

Btw. die Aufgabe schaut mit sehr danach aus als ob du das mit einer vernünftigen Normalisierung nebenbei erschlagen könntest.