2011-10-26 2 views
0

안녕하세요 저는 값이 쉼표로 구분 된 목록에 존재하는지 제어해야합니다. TSQL PATINDEX 쉼표로 구분 된 목록에서 정확한 값 검색

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

SELECT Column1, Column2 FROM Table1 
WHERE PATINDEX ('%' + CONVERT(NVARCHAR, Table1.ID) + '%', @list) 
그것은 ID 필드가 6, 3, 67 또는 34

인 행을 반환한다

예를 들어

방법 I과 함께 또는없이 PATINDEX 할 수 있는가?

답변

3

선도하고 검색 모두 @listTable1.ID에 쉼표를 후행 추가

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

대신 VARCHAR''의'NVARCHAR'를 사용하는 어떤 이유가 있습니까? – Gabe

+0

@Gabe : 아니요. 원래 질문에서 그걸 복사했습니다. –

+0

답장을 보내 주셔서 감사합니다. –

관련 문제