MySQLでは、FIND_IN_SET関数を使用すると、カンマなどのデリミタで区切られたデータ処理(レコード抽出)を非常に簡単に行うことができます。
例えば、「EXAMPLE」というテーブルに「IDs」というフィールドがあり、各レコードのIDsフィールドのデータは「11,13,21」のようなカンマ区切りでセットされているとします。この中から「13」が含まれるレコードを抽出する場合は、次のようなSQL文を実行します。
SELECT ID FROM EXAMPLE WHERE FIND_IN_SET('13', IDs);
デリミタがカンマ以外の場合(例えば「::」とかの場合)は、次のようなSQL文を実行します。
SELECT ID FROM EXAMPLE WHERE FIND_IN_SET('13', REPLACE(IDs,'::',','));