2011-10-26 20 views
0

こんにちは私の値がコンマ区切りリストに存在するかどうかを制御する必要があります。TSQL PATINDEXカンマ区切りリストで正確な値を検索する

DECLARE @list NVARCHAR = '6,3,67,34'; 

SELECT Column1, Column2 FROM Table1 
WHERE PATINDEX ('%' + CONVERT(NVARCHAR, Table1.ID) + '%', @list) 

のためには、フィールドが、私はPATINDEXの有無にかかわらず行うことができますどのように6、3、67または34

であるIDの行を返す必要がありますか?

答えて

3

は検索で@listTable1.IDの両方に先頭と末尾のカンマを追加します。

SELECT Column1, Column2 
    FROM Table1 
    WHERE CHARINDEX(',' + CONVERT(NVARCHAR, Table1.ID) + ',', ',' + @list + ',') <> 0; 
+0

代わりに 'VARCHAR'の' NVARCHAR'を使用する理由はありますか? – Gabe

+0

@Gabe:いいえ、私は元の質問からそれをコピーしました。 –

+0

すみません、返信ありがとうございました。 –

関連する問題