Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann man im JSON-Array gespeicherte Werte in der MySQL-Abfrage selbst abrufen?

Der REGEXP -Funktion gibt nur 0 oder 1 zurück. Sie müssen andere Zeichenfolgenfunktionen verwenden.

Versuchen Sie Folgendes:substr(misc,locate('group_id',misc)+11,5) as Misc . Aber das setzt voraus, dass group_id immer 5 Zeichen lang ist.

Das ist also besser:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Hier ist eine Geige, die zeigt, dass es funktioniert:http://sqlfiddle.com/#!2/ ea02d/15

BEARBEITEN Sie können das +3 loswerden magische Zahl, indem Sie die doppelten Anführungszeichen und den Doppelpunkt wie folgt in die Zeichenfolgen einfügen:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc