Mysql
 sql >> Base de données >  >> RDS >> Mysql

Extraire les données de json dans le champ mysql

MySQL prend en charge JSON dans la version 5.7.7http://mysqlserverteam.com/json-labs-release-native-json-data-type-and-binary-format/ Vous pourrez utiliser la fonction jsn_extract pour analyser efficacement votre chaîne JSON.

Si vous avez une ancienne version et que vous voulez la résoudre uniquement dans mysql, je crains que vous ne deviez la traiter comme une chaîne et en couper la valeur (juste des fonctions de chaîne normales ou utiliser des expressions régulières) Ce n'est pas élégant mais ça fonctionnera

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