Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MS SQL Spalte auslesen und zerschneiden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ensaw
    hat ein Thema erstellt [Erledigt] MS SQL Spalte auslesen und zerschneiden.

    [Erledigt] MS SQL Spalte auslesen und zerschneiden

    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?

  • Ensaw
    antwortet
    Zitat von Der Hans Beitrag anzeigen
    So?
    Code:
    UPDATE tbl_linkkonfiguration
    SET str_url = (SELECT
                   REPLACE(str_url, '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}', '/Version2/src/index?sessionGuid={sessionguid}')
                   FROM tbl_linkkonfiguraion)
    Vielen Dank euch beiden, genau das hat geholfen.

    MfG
    Ensaw

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Code:
    UPDATE tbl_linkkonfiguration SET str_url = REPLACE(str_url, '/Version1/src', '/Version2/src')
    Code:
    SELECT field1, field2, [...], REPLACE(str_url, '/Version1/src', '/Version2/src') as str_url FORM tbl_linkkonfiguration

    Einen Kommentar schreiben:


  • Der Hans
    antwortet
    So?
    Code:
    UPDATE tbl_linkkonfiguration
    SET str_url = (SELECT
                   REPLACE(str_url, '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}', '/Version2/src/index?sessionGuid={sessionguid}')
                   FROM tbl_linkkonfiguraion)

    Einen Kommentar schreiben:


  • Ensaw
    antwortet
    Ich bedanke mich auf jedenfall schonmal für deine Mühe. Ich kenne mich mit MS SQL leider nicht ganz so gut aus. Deswegen kopiere ich einfach mal das hier rein, was ich bekomme, wenn ich den Befehl ausführen möchte.

    Ausgeführter Code:
    Code:
    SELECT * FROM [TBL_LinkKonfiguration]
      REPLACE(STR_URL, '/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}', '/Version2/src/index?sessionGuid={sessionguid}');
      GO
    Result:
    Code:
    "STR_URL" is not a recognized table hints option. If it is intended as a parameter to a table-valued function or to the CHANGETABLE function, ensure that your database compatibility mode is set to 90.
    Beispieldaten:
    int_produkt int_code bit_aktiv int_nurdrucken int_obernummer str_url
    20 4005 1 2 NULL http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    24 4004 1 2 NULL http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    72 NULL 1 0 15903 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    73 NULL 1 0 15903 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    83 NULL 1 2 3822 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    104 NULL 1 0 17854 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    116 NULL 1 0 3793 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    117 NULL 1 0 3793 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    122 NULL 1 0 14907 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    130 NULL 1 0 6826 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    131 NULL 1 0 6826 http://testserver.localhost/Work/Projekte/Version1/src/alteVersionDesProjektes/index.php?sessionGuid={sessionguid}
    Angehängte Dateien

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Zeig doch einmal den kompletten Query, so wie du ihn auf die Datenbank abfeuerst. Und am Besten gleich ein Beispiel-Set an Daten dazu.

    Einen Kommentar schreiben:


  • Ensaw
    antwortet
    Code:
    REPLACE([str_url], 'Version1/.../...', 'Version2/.../...');
    Dies funktioniert nicht.

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Das wiederum verstehe ich jetzt nicht? Über was willst du sonst REPLACE() anwenden wenn nicht über den Inhalt einer Spalte?

    Einen Kommentar schreiben:


  • Ensaw
    antwortet
    Jain, Replace gibt es zwar beim MS SQL, aber nicht auf Spalten bezogen.

    Ich möchte ja über eine komplette Spalte gehen.

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    MySQL hat REPLACE(), das sollte bei der Eindeutigkeit der Links gut funktionieren. Keine Ahnung, was micischrottSQL hier anbietet.

    http://dev.mysql.com/doc/refman/5.1/de/replace.html

    Einen Kommentar schreiben:

Lädt...
X