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

Extrahieren Sie Daten aus json im mysql-Feld

MySQL unterstützt JSON in Version 5.7.7http://mysqlserverteam.com/json-labs-release-native-json-data-type-and-binary-format/ Sie können die jsn_extract-Funktion verwenden, um Ihren JSON-String effizient zu parsen.

Wenn Sie eine ältere Version haben und sie rein in MySQL lösen möchten, müssen Sie sie leider als Zeichenfolge behandeln und den Wert daraus entfernen (nur normale Zeichenfolgenfunktionen oder reguläre Ausdrücke verwenden). Das ist nicht elegant, aber es wird funktionieren

http://sqlfiddle.com/#!9/97cfd/14

SELECT
  DISTINCT(substring(jsonfield, locate('"city":',jsonfield)+8,
     locate('","', jsonfield, locate('"city":',jsonfield))-locate('"city":',jsonfield)-8)
  )
FROM
  ForgeRock