テーブル SHIRTS
にフィールド COLORS (varchar(50))
があり、1,2 のようなカンマ区切りの文字列が含まれています。 、5、12、15、。各番号は利用可能な色を表します。
クエリ select * from Shirts wherecolours like '%1%'
を実行して、赤 (color=1) のシャツをすべて取得すると、色もグレーになります ( = 12) とオレンジ (=15) のシャツ。
数字 1 を含むすべての色ではなく、色 1 を持つすべての色のみを選択するようにクエリを書き直すにはどうすればよいですか?
FIND_IN_SETは、この場合あなたの友達です
リーリー古典的な方法は、左側と右側にカンマを追加することです:
リーリーただし、find_in_setも使用できます:
リーリー