Suche nach JSON-Array-Elementen in MySQL
Ihre Abfrage versucht, die JSON_EXTRACT-Funktion zu verwenden, um das gesamte Array mit einem Skalarwert zu vergleichen gibt immer ein Ergebnis ungleich Null zurück. Um nach bestimmten Elementen innerhalb des Arrays zu suchen, können Sie die Funktion JSON_CONTAINS verwenden.
Suchen eines Arrays von Ganzzahlen:
JSON_CONTAINS('[1,2,3,4,5]','7','$')
Dies gibt 0 zurück, wenn das Array enthält nicht den Wert 7 und 1, wenn dies der Fall ist.
Durchsuchen eines Arrays von Zeichenfolgen:
JSON_CONTAINS('["a","2","c","4","x"]','"x"','$')
Dies gibt 1 zurück, wenn das Array die Zeichenfolge „x“ enthält, andernfalls 0.
Abfrage für Ihren Fall:
Um alle Zeilen auszuwählen, in denen die Datenspalte ein Array-Element größer als 2 enthält, verwenden Sie Folgendes Abfrage:
SELECT * from my_table WHERE JSON_CONTAINS(data, '2', '$');
Dies gibt alle Zeilen zurück, in denen das Array der Datenspalte ein Element größer als 2 enthält.
Das obige ist der detaillierte Inhalt vonWie suche ich nach Elementen in JSON-Arrays in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!