find_in_set関数のMySQL内での使い方は何ですか?
MySQLにおいて、FIND_IN_SET関数は、コンマで区切られた文字列リストの中から特定の値を検索し、その値がリストの中でのインデックス位置を返します。この関数の構文は以下の通りです:
FIND_IN_SET(search_value, string_list)
search_value は検索する値であり、string_list はコンマ区切りの文字列リストです。
例を挙げると、studentsという表があり、学生の成績を格納するgradesフィールドがあります。以下はデータです:
ID名前成績1
アリス
80,65,702
ボブ
75,85,903
キャロル
60,70,75
85点の成績を持つ学生を検索したい場合、FIND_IN_SET 関数を使用できます。
SELECT * FROM students WHERE FIND_IN_SET('85', grades) > 0;
上記のクエリを実行すると、Bobの記録が返ってきます。なぜなら、Bobの成績に85が含まれているからです。