MySQLのJSONの中を検索したくて
where {col} IN
みたいな感じで一発でできないか探したけど見つからなかった。。。
やったのはjsonのカラムが
id | json_col |
---|---|
1 | ["1","2","4"] |
2 | ["1","5","7"] |
上記のようなテーブルデータでjsonの中を検索したい時
SELECT json_col FROM TBL
WHERE ( JSON_SEARCH(json_col, 'ALL', '2')>0 ) OR ( JSON_SEARCH(json_col, 'ALL', '7')>0 )
みたいにJSON_SEARCH
を並べる
がとりあえず。
JSON_SEARCH(json_col, 'ALL', '["2","4"]')>0
みたいにして検索できないもんですかね。