Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como recuperar valores armazenados no array JSON na própria consulta do MySQL?


O REGEXP função apenas retorna 0 ou 1. Você terá que usar outras funções de string.

Tente isto:substr(misc,locate('group_id',misc)+11,5) as Misc . Mas isso pressupõe que group_id sempre tenha 5 caracteres.

Então é melhor:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Aqui está um violino para mostrar o funcionamento:http://sqlfiddle.com/#!2/ ea02e/15

EDITAR Você pode se livrar do +3 número mágico incluindo as aspas duplas e dois pontos nas strings como esta:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc