MySQL リストに指定した値が含まれているかを判定する

MySQL リストに指定した値が含まれているかを判定する

MySQLで、リストに指定した値が含まれているかを判定する手順を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
  • MySQL Workbench 8.0.27

手順

リストに指定した値が含まれているかを判定する場合は、「MEMBER OF」を使用します。
判定して、1つでも一致すれば「1」を、一致するものがなければ「0」が返ります。

判定する値 MEMBER OF('値')

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

SELECT 
1 MEMBER OF('[1, 2, 3, "a", 10]'),
4 MEMBER OF('[1, 2, 3, "a", 10]'),
"a" MEMBER OF('[1, 2, 3, "a", 10]')

実行結果をみると、判定した結果が返っていることが確認できます。

文字列の数値と、数値は区別されて判定されます。

SELECT 
1 MEMBER OF('["1", 2, 3, "a", 10]'),
"1" MEMBER OF('["1", 2, 3, "a", 10]')

実行結果