개발로그

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 를 사용하여 기능을 가진 문자를 단순 문자열로 보고 싶은 문자를 써주면 되는 겁니다.