2017-05-17 19 views
-1

JSON配列の値のインデックスで検索する方法はありますか?たとえば、JSON欄「myJSONArr」の「S」の指数が3または4であり、それはすべての行を返すことのような...MYSQLのJSON配列の値のインデックスを取得しますか?

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

は、このような何かをする方法の方法は何ですか?

+1

詳細をご入力いただくと、より多くのヘルプが表示されます。いくつかの例jsonと期待される結果。 –

+0

JSON文書をSQLデータベースの中に入れて、データベースの機能(インデックスとクエリ)を無効にし、スペースを節約しません。おそらく、MongoDBのようなNoSQLデータベースを検討する必要があるかもしれません。 –

+0

@NyamiouTheGaleanthrope MySQLはjsonのデータ型とそれをサポートする関数を持っていますが、MySQLでJSONを使用しても問題はありません。特にハイブリッドリレーショナル/非リレーショナルソリューションが必要な場合。 –

答えて

0

これはあなたを助けるかもしれません!

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) ; 
関連する問題