2017-05-17 77 views
-1

有沒有一種方法可以通過JSON數組中的值的索引進行搜索。例如有這樣一種方法做類似...在MYSQL中獲取JSON數組中的值索引?

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

,使得其將返回所有行,其中「S」的一個JSON列「myJSONArr」的指數是3或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) ;