sql >> Databasteknik >  >> RDS >> Mysql

Hur hämtar man värden lagrade i JSON-arrayen i själva MySQL-frågan?

REGEXP funktion returnerar bara 0 eller 1. Du måste använda andra strängfunktioner.

Prova detta:substr(misc,locate('group_id',misc)+11,5) as Misc . Men det förutsätter att group_id alltid har 5 tecken.

Så det här är bättre:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Här är en fiol som visar att den fungerar:http://sqlfiddle.com/#!2/ ea02e/15

REDIGERA Du kan bli av med +3 magiskt tal genom att inkludera dubbla citattecken och kolon i strängarna så här:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc



  1. taps migration misslyckas från sqlite till postgres rails4, ruby ​​1.9.3

  2. mysql minuter till timmar och minuter

  3. Topp 5 tidskrävande SQL-frågor i Oracle

  4. Vad maskininlärning betyder för databasproffs