2016-04-15 25 views
-1

Ich versuche, alle Links aus column_content in meinem Tabellenname zu entfernen. Verbindungen wie folgt aussehen:SQL suchen und ersetzen Text in Spalte

<a style="text-decoration:none" href="/index.php?o=oda-res-site">.</a> 

und href="........" in jedem Datensatz unterschiedlich ist.

Können Sie mit einer Aussage mit Platzhaltern helfen, die alle Verbindungen säubern <a ..../a>?

Ich versuchte dies:

UPDATE MyTable 
SET StringColumn = REPLACE (StringColumn, 'SearchForThis', 'ReplaceWithThis') 

aber ich konnte die richtigen Platzhalter enthalten -wenn möglich- alle Links nicht gefunden.

Danke verwende ich phpMyadmin

+2

Welches Datenbankverwaltungsprogramm verwenden Sie? Fügen Sie ein Tag für 'sql-server',' MySQL' oder was auch immer es ist hinzu. – Smandoli

+1

Welche Art von Information befindet sich in einem 'column_content'-Datensatz? Kann es mehrere Links geben? – Smandoli

+0

'regexp_replace()' kommt mir in den Sinn –

Antwort

0

Hm ... Wenn ich Sie richtig verstanden habe, sollte die Lösung nicht so schwierig sein. Beispielcode basierend auf Ihrem Beispiel:

DECLARE @MyString nvarchar(250) = N'<a style="text-decoration:none" href="/index.php?o=oda-res-site">.</a>'; 
SELECT @MyString as MyOldString, LEFT(@MyString, CHARINDEX('href="', @MyString)+5) + '">.</a>' as MyNewString 
+0

Vielen Dank für Ihren Versuch, aber es hat nicht funktioniert. Ich habe Grundkenntnisse in mysql, also kopiere ich einfach oben auf phpMyAdmin> sql tab. Der Fehler ist: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; – geoplous

+0

Oh, ok, wenn es mysql ist, könnte die Abfrage einige Änderungen erfordern. Ich habe es auf Sqlserver getestet. Vielleicht brauchen Sie anstelle von charindex eine Instring oder ähnliches. Ich bin nicht so vertraut mit MySQL. – Tyron78

Verwandte Themen