2017-06-07 3 views
0

Wenn die folgende Zeichenfolge mit einem eindeutigen Element darin enthalten. Dieses einzigartige Element muss ich aus dieser Zeichenfolge extrahieren und als Variable speichern. Der Teil, den ich extrahieren muss, ist: Proto-1088.Wählen Sie einen Teil der URL-Zeichenfolge in MySQL

"{"account":"123456","n":{"Score":"Bad","Ticket":"https://test.test2.com/browse/Proto-1088"},"2":{"Score":"GOOD"}} 

Ich habe versucht, die TRIM Funktion in MySQL zu verwenden, aber dies in Proto Änderungen, da die Zahl hat nicht funktioniert.

+0

Welche Version von MySQL? 5.7 hat JSON-Funktionen, die die Aufgabe gerne erledigen würden. –

Antwort

1

Wenn das die einzige URL ist in der Zeichenfolge Sie SUBSTRING_INDEX

SELECT 
SUBSTRING_INDEX(
    SUBSTRING_INDEX(
    '"{"account":"123456","n": 
    {"Score":"Bad","Ticket":"https://test.test2.com/browse/Proto-1088"},"2":{"Score":"GOOD"}}', 
    '/', -1), 
'"',1) 

Erklärung verwenden:

SUBSTRING_INDEX(str, delim, count) findet der Index des count Auftretens von delim (Zählung von links, wenn count positiv ist, von rechts, wenn negativ) und gibt alles über diesen Index zurück (nach links, wenn count positiv ist, rechts wenn negativ).

So habe ich SUBSTRING_INDEX mit count=-1 alles rechts von dem letzten Vorkommen '/' zu extrahieren und dann nahm alles auf der rechten Seite des ersten Auftretens von '"count=1 verwenden.