Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak pobrać wartości przechowywane w tablicy JSON w samym zapytaniu MySQL?

REGEXP funkcja zwraca tylko 0 lub 1. Będziesz musiał użyć innych funkcji łańcuchowych.

Spróbuj tego:substr(misc,locate('group_id',misc)+11,5) as Misc . Ale to zakłada, że ​​group_id zawsze ma 5 znaków.

Więc tak jest lepiej:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc .

Oto skrzypce, które pokazują, jak działa:http://sqlfiddle.com/#!2/ ea02e/15

EDYTUJ Możesz pozbyć się +3 magiczna liczba, umieszczając w ciągach podwójne cudzysłowy i dwukropek w następujący sposób:substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak znaleźć nazwę tabeli, z której losowo wybrany obraz?

  2. Automatyczne generowanie Doctrine-Entity z istniejącej tabeli

  3. Oddzielna klauzula Join w indeksie złożonym

  4. RowCount PDO/MySQL nie zwraca zgodnie z oczekiwaniami

  5. Czy nawiasy kwadratowe są prawidłowe w zapytaniu SQL?