SQL Serverでカンマ区切り値を検索する方法


方法1: LIKE演算子を使用した検索

SELECT * FROM テーブル名 WHERE カラム名 LIKE '%値%';

この方法では、カンマ区切り値の中に検索対象の値が含まれているかどうかを判定します。値の前後にワイルドカード '%' を使用することで、部分一致検索が可能です。

方法2: CHARINDEX関数を使用した検索

SELECT * FROM テーブル名 WHERE CHARINDEX('値', カラム名) > 0;

CHARINDEX関数は、指定した値が文字列内で最初に現れる位置を返します。この方法を使用すると、カンマ区切り値の中に指定した値が存在するかどうかを確認できます。

方法3: STRING_SPLIT関数を使用した検索

SELECT * FROM テーブル名 WHERE EXISTS (
    SELECT * FROM STRING_SPLIT(カラム名, ',') WHERE 値 = '検索対象の値'
);

STRING_SPLIT関数は、カンマ区切りの文字列を分割してテーブルとして返します。この方法を使用すると、分割された値と検索対象の値を比較し、一致する場合に結果を返します。

これらはSQL Serverでカンマ区切り値を検索するための一般的な方法のいくつかです。使用する方法はデータの構造や要件によって異なる場合があります。適切な方法を選択してください。