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

Comment récupérer les valeurs stockées dans le tableau JSON dans la requête MySQL elle-même ?

Le REGEXP renvoie simplement 0 ou 1. Vous devrez utiliser d'autres fonctions de chaîne.

Essayez ceci :substr(misc,locate('group_id',misc)+11,5) as Misc . Mais cela suppose que group_id a toujours 5 caractères.

Donc c'est mieux :substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Voici un violon pour montrer qu'il fonctionne :http://sqlfiddle.com/#!2/ ea02e/15

MODIFIER Vous pouvez vous débarrasser du +3 nombre magique en incluant les guillemets doubles et les deux-points dans les chaînes comme ceci :substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc