Escribe algo para buscar...

Extraer valor dentro de un JSON en MySQL

  • Javi Mata
  • 12 may, 2017


La consulta query que hice quedo así:

/* El valor de +10 debe ser en relacion al tamaño del string + 4 por las comillas y 2 puntos */
SELECT
  fecha,email,substring(campos, locate('"nombre":',campos)+10,
     locate('","', campos, locate('"nombre":',campos))-locate('"nombre":',campos)-10) as nombre
FROM
  registros where (site = 18 OR site = 19) AND estatus > 0 order by id​


Como puse en el comentario dentro del query, el valor actual de +10 y -10 es dependiendo del tamaño del nombre del campo más 4, en mi caso son 10 por que se consideran nombre + ":',

Quizá existan mejores formas de hacerlo, fue la que yo implemente y espero que a alguien le sirva o igual, si alguien puede compartir otras formas (mejores) siempre serán bienvenidas.

Compartir:

Artículos relacionados