Seite 1 von 1

REPLACE in UPDATE

Verfasst: Di 25. Aug 2015, 10:48
von andiair
Hallo,
ich versuche gerade einen REPLACE in einem UPDATE auszuführen, bekomme aber folgende Meldung im Status
"1: Undefinierte Funktion 'REPLACE' in Ausdruck."

Hier ist mein verwendeter Code

Code: Alles auswählen

UPDATE tblPart
SET externalDocument1=REPLACE(externalDocument1,'Documents','Datenblätter')
WHERE (externalDocument1 IS NOT NULL AND externalDocument1 LIKE 'Documents');
Vielelicht kann mir dort ja jemand weiterhelfen

Schonmal Dank für eure Mühen.

Andi

Re: REPLACE in UPDATE

Verfasst: Di 25. Aug 2015, 12:17
von andiair
Danke für die superschnelle Reaktion

Das mit dem % in dem WHERE habe ich in meiner Formel hier, ich wollte nur nicht den kompletten Laufwekspfad hier posten und habe das zuviel gelöscht.

Ich möchte in den Inhalten der Spalte
externalDocument1

den Text
'$(MD_DOCUMENTS)\Datenblätter\'
durch
'P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\'
ersetzen

Mit
SET externalDocument1 = 'Documents, Datenblätter'
schreibe ich ja fest 'Documents, Datenblätter' rein.

Hier meine Original Formel, die nicht funktioniert

Code: Alles auswählen

UPDATE tblPart
SET externalDocument1=(REPLACE(externalDocument1,'$(MD_DOCUMENTS)\Datenblätter\','P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\'))
WHERE (externalDocument1 IS NOT NULL AND externalDocument1 LIKE '$(MD_DOCUMENTS)\Datenblätter\%');

Re: REPLACE in UPDATE

Verfasst: Di 25. Aug 2015, 13:25
von andiair
Hallo,
hier man Problem Beispüielhaft dargestellt. Ich muss den Pfad absolut für einen Link auf ein Datenblatt angeben.

In der Spalte externalDocument1 stehen z.B. folgende Werte
$(MD_DOCUMENTS)\Datenblätter\JAN\JAN.UMG96x_de.pdf
$(MD_DOCUMENTS)\Datenblätter\ABT\ABT.ZPx12x_de.pdf
$(MD_DOCUMENTS)\Datenblätter\ASK\ASK.BD100_125AL_de.pdf
...

Das sollte zu
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\JAN\JAN.UMG96x_de.pdf
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\ABT\ABT.ZPx12x_de.pdf
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\ASK\ASK.BD100_125AL_de.pdf
werden.

eben suche nach
$(MD_DOCUMENTS)\Datenblätter\

ersetze durch
P:\EPLAN_Stammdaten_System\Dokumente\EPL\Datenblätter\

Ich hoffe so ist es verständlicher.

Danke
Andi

Re: REPLACE in UPDATE

Verfasst: Di 25. Aug 2015, 16:42
von andiair
Hi nikki,
danke für deine Antwort und deine Bemühungen, aber meine Frage als "schlecht" zu bezeichnen finde ich nicht ganz treffend.

Ich hatte klar ein REPLACE in meiner SQL-Anweisung.

Grüße
Andi

Re: REPLACE in UPDATE

Verfasst: Di 25. Aug 2015, 16:50
von F3K Total
Hi, habe gerade dieses SQL-Statement erfolgreich durchgeführt:

Code: Alles auswählen

update "Adressen" set "Adresse" = Replace("Adresse",'P.O.','XXX')
Tabellen und Spaltennamen mit Kleinbuchstaben immer in doppelte Anführungszeichen, zumindest für die eingebettete HSQL Datenbank.
Dein Ausdruck wäre also

Code: Alles auswählen

UPDATE "tblPart"
SET "externalDocument1"=REPLACE("externalDocument1",'Documents','Datenblätter')
Die Where Klausel kann wirklich weggelassen werden
Wenn Du eine andere Datenbank als die HSQL DB verwendest, musst du natürlich schauen, ob sie REPLACE beherrscht und wenn, wie die Syntax genau ist.

Gruß R