에러 모음집
SQL WHERE LIKE 연산자
JUN0126
2022. 11. 14. 18:39
LIKE 를 이용하다가.. 언더바(_)가 예약어 인지 모른채 검색을 진행했을 떄 내 예상대로 검색이 되지 않고 추가적으로 더 데이터가 나오는 현상이 있어 해당 사항을 정리해본다..
우선 WHERE LIKE 에서 사용되는 예약어를 알아보자
1. A%
- A 로 시작되는 모든 문자열을 검색한다.
2. %A%
- A 가 포함되어 있는 모든 문자열을 검색한다.
3. %A
- A로 끝나는 모든 문자열을 검색한다.
4. _A
- 두번째 글자가 A이 인 두글자의 문자열을 검색한다. EX) EA, FA...
- 언더바 개수만큼 검색 조건을 걸 수 있다. EX ) (언더바 2개) __A -> EEA, FEA
5. _A_
- 문자열 A 앞 뒤로 문자가 한 문자 씩 있는 것을 검색한다 EX) BAZ, GAI
6. A_K
- 문자 A와 K 사이에 한 글자가 잇는 것을 검색한다 EX) ASK, AMK
이렇게 이루어진 예약문자들을 실제로 검색 해야 할 때가 있다. 그럴때는 \ (백슬래쉬) 를 추가해줌으로서 해당 예약 문자들을 검색 문자로 사용할 수 있다.
select * from 테이블명 where 컬럼명 like 'A\%' -> "A%" 이라는 문자를 찾고 싶을 경우
select * from 테이블명 where 컬럼명 like '\_A\_' -> "_A_" 이라는 문자를 찾고 싶을 경우