MySQL jsonデータに指定したkeyが存在するか判定する
MySQLで、jsonデータに指定したkeyが存在するか判定する手順を記述してます。
環境
- 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が存在するか判定する場合は、「JSON_CONTAINS_PATH」を使用します。
存在すれば「1」が、しなければ「0」が返ります。
※「one」は、どれか1つでも存在すれば「1」を「all」は全て存在しないと「1」を返しません
JSON_CONTAINS_PATH('json','one or all','$.key','$.key','$.key'...)
実際に、判定してみます。
SELECT
JSON_CONTAINS_PATH('{"id": 1, "name": "mebee", "age": "10"}', 'one', '$.name', '$.age'),
JSON_CONTAINS_PATH('{"id": 1, "name": "mebee", "age": "10"}', 'one', '$.name', '$.foo'),
JSON_CONTAINS_PATH('{"id": 1, "name": "mebee", "age": "10"}', 'all', '$.id', '$.name', '$.age'),
JSON_CONTAINS_PATH('{"id": 1, "name": "mebee", "age": "10"}', 'all', '$.id', '$.name', '$.foo')
実行結果をみると、判定されていることが確認できます。
-
前の記事
jquery ファームに入力された値を表示する 2022.04.28
-
次の記事
Linux 履歴を検索して実行する 2022.04.28
コメントを書く