sql >> Databáze >  >> RDS >> Mysql

Jak načíst hodnoty uložené v poli JSON v samotném dotazu MySQL?

REGEXP funkce prostě vrátí 0 nebo 1. Budete muset použít jiné řetězcové funkce.

Zkuste toto:substr(misc,locate('group_id',misc)+11,5) as Misc . To ale předpokládá, že group_id má vždy 5 znaků.

Takže toto je lepší:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Zde je housle, která ukazuje, že to funguje:http://sqlfiddle.com/#!2/ ea02e/15

UPRAVIT Můžete se zbavit +3 magické číslo přidáním dvojitých uvozovek a dvojtečky do řetězců, jako je tento:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc



  1. Postgres vrací [null] místo [] pro array_agg tabulky spojení

  2. Zobrazení zprávy, když nebyly nalezeny žádné výsledky vyhledávání PHP MySQL

  3. Hromadné vložení do Postgresu pomocí brianc/node-postgres

  4. Rodičovské dítě mysql