2017-03-10 5 views
0

Wir haben eine Menge von Zeilen, die in phpMyAdmin SQL-Datenbank wie dieser unten Satz enthält:Wie finden und ersetzen Sie eine Zeichenfolge in sql phpmyadmin?

a:2:{i:0;a:19:{s:41:s:3:"s:85:"http://link.com/abcd-123.html";s:0:"";s:5:"56";s:0:"";}} 

Wir wollen in diesen Zeilen finden, wo mit http://link.com/ beginnt und endet mit 123.html dann entfernen Sie alles vor und nach diesem und in diese Zeile aktualisieren.
Wir finden diese Links durch diese wie in Sql, aber wir wissen nicht, wie vor und nach dem entfernen! :

"%http://link.com/%123.html%" 

Beispiel:
Diese:

a:2:{i:0;a:19:{s:41:s:3:"s:85:"http://link.com/abcd-123.html";s:0:"";s:5:"56";s:0:"";}} 

sollte in jeder Zeile (Hinweis darauf sein umwandeln: in jeder Zeile "abcd-" anders ist und nur die erste und Ende dieses Links ist ähnlich):

http://link.com/abcd-123.html 

Vielen Dank für Ihre Hilfe

+0

Dies ist nicht leicht in SQL gemacht werden, müssen Sie etwas Programm beteiligt werden. MariaDB 10.1 regexbasiert suchen und ersetzen, wenn Sie das verwenden. – miken32

Antwort

2

Sie können dies möglicherweise mit den Basis-String-Funktionen von MySQL tun. Wenn es nur eine einzige URL ist, und Sie wollen es einfach aus, dass JSON-Daten extrahieren, dann können Sie versuchen, die folgenden:

SELECT SUBSTRING(col, 
       INSTR(col, 'http'), 
       INSTR(col, 'html') - INSTR(col, 'http') + 4) AS url 
FROM yourTable 

Demo hier:

Rextester

+0

Vielen Dank das funktioniert! –

Verwandte Themen