MySQL json同士のkeyとvalueを比較する
MySQLで、json同士のkeyとvalueを比較する手順を記述してます。
環境
- OS ubuntu21.10
- MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
- MySQL Workbench 8.0.27
手順
json同士のkeyとvalueを比較する場合は、「JSON_OVERLAPS」を使用します。
比較して、1つでもkeyとvalueが一致すれば「1」を、一致するものがなければ「0」が返ります。
JSON_OVERLAPS('json','json')
実際に、比較してみます。
SELECT
JSON_OVERLAPS('{"a": 1, "b": 2}', '{"a": 1, "b": 2}'),
JSON_OVERLAPS('{"a": 1, "b": 2}', '{"a": 10, "b": 2}'),
JSON_OVERLAPS('{"a": 1, "b": 2}', '{"a": 10, "b": 20}')
実行結果をみると、比較した結果が返っていることが確認できます。
リスト同士の比較にも使用できます。
SELECT
JSON_OVERLAPS('[1,2,3]', '[3,4]'),
JSON_OVERLAPS('[1,2,3]', '[4,5]')
実行結果
2次元のリストを比較した場合は、完全に一致している必要があります。
SELECT
JSON_OVERLAPS('[[1,2],3]', '[[1,2],5]'),
JSON_OVERLAPS('[[1,2],3]', '[1,2]')
実行結果
-
前の記事
SourceTreeで「error: failed to push some refs to」の対処法 2022.01.04
-
次の記事
MySQL ストアドで大量のデータを作成する 2022.01.04
コメントを書く