개발로그
SQL 조건검색 중 언더바
원스텝퍼더
2022. 11. 8. 19:05
안녕하세요
보다한걸음더 원스텝퍼더입니다.
오늘은 SQL 검색 조건 중 '_'(언더바) 검색을 하려는데 생각과 조건으로 걸리지 않아
구글링을 하여 새로운 방식을 찾아내서 공부 겸 적어봅니다.
일단 코드는 다음과 같았습니다.
SELECT * FROM table_1 WHERE col1 LIKE '%_' ;
단순히 LIKE 연산으로 앞자리가 뭐가 나오든 마지막 문자가 _(언더바)로 끝나는 데이터를 찾으려고 했는데 나오지 않더라고요.
검색을 해보니 SQL 에서 _는 자리수를 뜻하는 것이라고 합니다. 위 코드를 보면 마지막 자리수 앞은 어떤게 나와도 상관이 없으니 아무 조건도 걸지 않은 것과 같은 결과가 나왔던 거고요.
그래서 올바른 방법은 escape 를 사용하는 것이었는데요.
SELECT * FROM table_1 WHERE col1 LIKE '%_' ESCAPE '_' ;
바로 이 코드 입니다. ESCAPE 를 쓰기 전까지는 동일하지만 ESCAPE 를 사용하여 기능을 가진 문자를 단순 문자열로 보고 싶은 문자를 써주면 되는 겁니다.