변수 안의 문자는
- 두개의 문자가 아닙니다. NAME1 과 NAME 2 로 인식하는 게 아닙니다.
- 하나의 문자로 인식합니다. 따옴표와 컴마가 포함된 하나의 긴 문자열.
문자열 비교방식으로 풀어 보겠습니다.
- 따옴표는 번거로우니 제거하고
- 앞뒤 컴마 붙여서 INSTR 이나 LIKE 검색하시면 됩니다.
- 정규식을 이용한 검색도 가능합니다.
SET @name = 'NAME1,NAME2'; SELECT * FROM table1 WHERE INSTR(CONCAT(',', @name, ','), CONCAT(',', name, ',')) -- WHERE CONCAT(',', @name, ',') LIKE CONCAT('%,', name, ',%') -- WHERE name REGEXP REPLACE(@name, ',', '|') ;