MS SQL Spalte auslesen und und bestimmten Teil ersetzen

Ensaw

Mitglied
Hallo,

ich habe im moment folgenes Problem. Ich habe in mehreren Zeilen einer Spalte einen den gleichen Link.
Dieser hat sich nun aber geändert, weshalb ich den automatisiert ändern möchte.

Diese Anweisung sieht bisher so aus:
Code:
update [TBL_LinkKonfiguration]
  set [str_url] = 'http://testserver.localhost/Work/Projekte/Version2/src/index?sessionGuid={sessionguid}'
  where [str_url] = 'http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}'
;

Das funktioniert auch soweit. Aber da ich aber mehrere Datenbanken und verschiedene Server habe, möchte ich das gleiche für die anderen Tabellen machen. Bei den anderen Tabellen ist der einzige Unterschied, dass der Link mit "http://liveserver.ensaw/releases/" anfängt.

Meine Frage ist nun, wie kann ich den Befehl so anpacken, dass der nur ab "/Version1/.../.../" den Link auf "/Version2/.../.../" ändert?
 
SQL:
SET [str_url] =Left([str_url], InStr([str_url], '/Version1/')) & 'Version2/src/index?sessionGuid={sessionguid}'
 
SQL:
SET [str_url] =Left([str_url], InStr([str_url], '/Version1/')) & 'Version2/src/index?sessionGuid={sessionguid}'
Das ist MySQL, oder?

Bei MS SQL geht das leider nicht.
'InStr' is not a recognized built-in function name.

Ich weiß, ihr seid keine Sklaven die einem alles vorkauen, dennoch finde ich nur Hilfe zu MySQL und habe von MS SQL leider nicht so viel Ahnung. Daher bitte ich euch um Hilfe..
 
Vielen Dank euch. Ihr habt mir geholfen.

Hier meine Lösung, falls jemand das gleiche Problem hat wie ich.
Code:
UPDATE [TBL_LinkKonfiguration]
   SET str_url = REPLACE(str_url,   
     '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}',
     '/Version2/src/index?sessionGuid={sessionguid}')
       FROM [TBL_GatewayKonfiguration];
GO
 
Zurück