sql >> Database teknologi >  >> RDS >> Mysql

Hvordan henter man værdier gemt i JSON-array i selve MySQL-forespørgslen?

REGEXP funktion returnerer bare 0 eller 1. Du bliver nødt til at bruge andre strengfunktioner.

Prøv dette:substr(misc,locate('group_id',misc)+11,5) as Misc . Men det forudsætter, at group_id altid har 5 tegn.

Så dette er bedre:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Her er en violin, der viser, at den virker:http://sqlfiddle.com/#!2/ ea02e/15

REDIGER Du kan slippe af med +3 magisk tal ved at inkludere de dobbelte anførselstegn og kolon i strengene som denne:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc



  1. Kald Java-funktionen fra Oracle-funktionen

  2. Sådan genereres DB-testdata

  3. #1025 - Fejl ved omdøbning (fejlnr.:150) i mysql

  4. konvertering af tidsstempel til dato i java