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

¿Cómo recuperar los valores almacenados en la matriz JSON en la consulta MySQL?

El REGEXP la función solo devuelve 0 o 1. Tendrá que usar otras funciones de cadena.

Prueba esto:substr(misc,locate('group_id',misc)+11,5) as Misc . Pero eso supone que group_id siempre tiene 5 caracteres.

Así que esto es mejor:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Aquí hay un violín para mostrar cómo funciona:http://sqlfiddle.com/#!2/ ea02e/15

EDITAR Puedes deshacerte del +3 número mágico al incluir las comillas dobles y dos puntos en las cadenas como esta:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc