MySQL-Suchwert aus verschachteltem JSON
P粉366946380
P粉366946380 2023-09-06 14:49:48
0
1
469

Ich versuche, nach dem Benutzer-ID-Wert 22 aus verschachteltem JSON in der MySQL-Spalte zu suchen

Mein JSON ist

'{ "data": [ {"calendarId":"11","userId": "12"}, {"calendarId":"21","userId": "22"} ] }'

Ich habe die folgende Syntax ausprobiert:

1. where JSON_EXTRACT(column_field,'$.userId') = 22 2. where JSON_EXTRACT( column_field, '$.data[*].userId' ) = 22
  1. Habe auch versucht, JSON_Table zu verwenden, habe aber nicht den genauen verschachtelten JSON-Wert in der Where-Bedingung erhalten.

P粉366946380
P粉366946380

Antworte allen (1)
P粉554842091

这个:

select json_extract('{ "data": [ {"calendarId":"11","userId": "12"}, {"calendarId":"21","userId": "22"} ] }','$[0].data[*].userId');

给出:[“12”,“22”]

还有这个:

select * from json_table(json_extract('{"data": [{"calendarId":"11","userId": "12"},{"calendarId":"21","userId": "22"}]}', '$[0].data[*].userId'), '$[*]' columns (value int path "$")) x ;

给出:

12
22

添加 WHERE 子句,仅查找值22应该不是问题。

附注以上是使用MySQL 8.x测试的,参见:DBFIDDLE

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!