sql >> Base de Datos >  >> RDS >> Mysql

Extraiga datos de json dentro del campo mysql

MySQL tiene soporte para JSON en la versión 5.7.7http://mysqlserverteam.com/json-labs-release-native-json-data-type-and-binary-format/ Podrá usar la función jsn_extract para analizar eficientemente su cadena JSON.

Si tiene una versión anterior y quiere resolverlo puramente en mysql, me temo que tiene que tratarlo como una cadena y quitarle el valor (solo funciones de cadena normales o usar expresiones regulares) Esto no es elegante pero funcionará

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