저자 : 아사이 아츠시
출판 : 한빛미디어
발매 : 2015.11.01
1. LIKE로 패턴 매칭하기.
- 열명 LIKE '패턴'
- 패턴을 정의할 때 사용할 수 있는 메타문자로는 %와 _가 있다.
퍼센트(%)는 임의의 문자열을 의미하며, 언더스코어(_)는 임의의 문자 하나를 의미함.
- 패턴을 정의할 때는 메타문자를 여러개 사용 가능, 와일드카드로 자주 쓰이는 *는 LIKE에서는 사용
불가.
▼ SELECT * FROM sample25 WHERE text LIKE 'SQL%'
: text 열 데이터가 'SQL'~로 시작하는 행 검색.(전방 일치)
: text 열 데이터에 'SQL'이 포함되는 행 검색.(중간 일치)
*** 메타문자 %는 빈 문자열과도 매치 된다. (첫번째 행의 경우 '%SQL%'에서 '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'; (O)
cf .. 간단한 패턴 매칭이라면 LIKE로 충분하지만 더 복잡한 패턴 매칭을 하는 경우는 정규 표현식(Regular Expression)을 사용하는 편이 나음. 정규 표현식에서는 더 많은 메타문자를 사용해 폭넓게 패턴 지정 가능.
'Study > DB' 카테고리의 다른 글
[SQL 첫걸음] 3장.정렬과 연산 - 10.복수의 열을 지정해 정렬 (0) | 2018.08.28 |
---|---|
[SQL 첫걸음] 3장.정렬과 연산 - 09.정렬(ORDER BY) (0) | 2018.08.28 |
[SQL 첫걸음] 2장.테이블에서 데이터 검색 - 07.조건 조합하기(AND,OR,NOT) (0) | 2018.08.28 |
[SQL 첫걸음] 2장.테이블에서 데이터 검색 - 06.검색 조건 지정하기 (0) | 2018.08.28 |
[SQL 첫걸음] 2장.테이블에서 데이터 검색 - 05.테이블 구조 참조하기 (0) | 2018.08.28 |