MySQL jsonデータから指定したkeyとvalueが存在するか判定する

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_CONTAINS」を使用します。
存在すれば「1」が、しなければ「0」が返ります。

JSON_CONTAINS('json','値','$.key')

実際に、判定してみます。

SELECT 
JSON_CONTAINS('{"id": 1, "name": "mebee"}', '"mebee"', '$.name'),
JSON_CONTAINS('{"id": 1, "name": "mebee"}', '"hoge"', '$.name')

実行結果をみると、判定されていることが確認できます。