다음과 같은 값들이 data 란 컬럼에 있다고 가정한다.
idx | data |
---|---|
1 | ,A,B1,C |
2 | ,A |
3 | ,B11,C,D |
4 | ,B1 |
5 | ,A,B1 |
6 | ,A,CB1,D |
이런 상황에서 ‘B1’ 을 포함한 Row의 idx 를 가지고 오고 싶을 때..
쉽게 생각하면 data LIKE ‘%B1%’ 을 생각할 수 있다.
하지만 이는 ‘B11’, ‘CB1’ 도 포함되는 조건이므로 원하는 결과가 아니다.
이럴 경우 다음과 같이 정규식을 사용한 쿼리문으로 해결할 수 있다.
SELECT * FROM 테이블 WHERE data REGEXP '[[:<:]]B1[[:>:]]'
결과>
idx | data |
---|---|
1 | ,A,B1,C |
4 | ,B1 |
5 | ,A,B1 |
참고 URL)
http://www.techotopia.com/index.php/MySQL_Regular_Expression_Searches