반응형
1. LIKE로 패턴 매칭하기
- 열명 LIKE '패턴'
- 패턴을 정의할 때 사용할 수 있는 메타문자로는 %(퍼센트)와 _(언더스코어)가 있다. 퍼센트는 임의의 문자열을 의미하며, 언더스코어는 임의의 문자 하나를 의미한다.
- 패턴을 정의할 때는 메타문자를 여러개 사용 가능하며 와일드카드로 자주 쓰이는 *는 LIKE에서는 사용불가하다.
SELECT * FROM SAMPLE25 WHERE TEXT LIKE '%SQL';
- text 열 데이터가 SQL ~ 로 시작하는 행을 검색(전방일치)
SELECT * FROM SAMPLE25 WHERE TEXT LIKE '%SQL%';
- text 열 데이터가 중간에 SQL을 포함하고 있는 행을 검색(중간일치)
SELECT * FROM sample25 WHERE text LIKE '%SQL'
- text 열 데이터가 ~'SQL'로 끝나는 행 검색.(후방 일치)
2. LIKE로 %를 검색하기
- 메타문자와 동일한 문자인 %를 LIKE로 검색할 경우 LIKE와 함께 쓰이는 %메타문자는 임의의 문자열을 의미하므로, 일반문자 %를 검색하기 위해서는 "이스케이프 처리"(예외처리)를 해야한다.
- \%'와 같이 \을 %앞에 붙임.
==⇒ %를 LIKE로 검색할 경우에는 \%로한다.
==⇒ 를 LIKE로 검색할 경우에는 _로 한다.
3. 문자열 상수의 이스케이프
- 문자열 상수안에 '를 포함하고 싶을 경우: 표준 SQL에서는 '를 2개 연속해서 기술하는 것을 이스케이프 처리라고한다.
예로 IT'S라는 문자열을 문자열 상수로 표기하려면 'IT''S'로 쓴다.
SELECT 'it's';
//==> 실행 시 SQL syntax 에러발생.
SELECT 'it**''**s';
//==> 실행 가능
💡 간단한 패턴 매칭이라면 LIKE로 사용이 충분히 가능하지만 복잡한 패턴 매칭을 하는 경우는 정규 표현식을 사용하는 편이 좋다.
반응형
'자격증 > SQLD' 카테고리의 다른 글
[SQL 첫걸음] 10강. 복수의 열을 지정해 정렬하기 (0) | 2022.04.04 |
---|---|
[SQL 첫걸음] 9강. ORDER BY (0) | 2022.04.04 |
[SQL 첫걸음] 7강. 조건 조합하기 (0) | 2022.04.04 |
[SQL 첫걸음] 6강. 검색 조건 지정하기 (0) | 2022.04.04 |
[SQL 첫걸음] 5강. 테이블 구조 참조하기 (0) | 2022.04.04 |