2017-05-17 2 views
-1

Gibt es eine Möglichkeit, nach einem Wert im JSON-Array nach Index zu suchen. Zum Beispiel ist es eine Möglichkeit, Art und Weise so etwas wie ...Erhalten Index des Wertes in JSON-Array in MySQL?

Select * FROM table WHERE myJSONArr.indexOf("s") = 3 or 4 

so, dass es alle Zeilen zurück, wo der Index „s“ in einer JSON Spalte „myJSONArr“ 3 oder 4 ist zu tun?

+1

Wenn Sie weitere Details angeben, erhalten Sie wahrscheinlich mehr Hilfe. Einige Beispiele für json und erwartete Ergebnisse. –

+0

Was setzen Sie JSON-Dokument in eine SQL-Datenbank, es besiege die Funktionen der Datenbank (Index und Abfragen) und spart nicht Platz. Wenn Sie mehr Flexibilität benötigen, sollten Sie eine NoSQL-Datenbank wie MongoDB in Erwägung ziehen. –

+0

@NyamiouTheGaleanthrope MySQL hat einen Json-Datentyp und Funktionen, um es zu unterstützen, ich sehe kein Problem mit JSON in MySQL. Vor allem, wenn sie eine hybride relationale/nicht-relationale Lösung benötigen. –

Antwort

0

Dies könnte Ihnen helfen!

CREATE TABLE test_json_table (
id integer , 
tags json DEFAULT NULL, 
PRIMARY KEY (id) 
); 

insert into test_json_table VALUES (1, '["JavaScript", "ES2015", "JSON"]'); 
insert into test_json_table VALUES (2, '["JavaScript", "Python", "ES2015", "JSON"]'); 


select v1.* 
from (select cast(tags as char) as tags_str from test_json_table) as v1 
where POSITION("[" IN v1.tags_str) IN (1,2) ; 
Verwandte Themen