열 값이 부분적으로 일치하는 데이터를 찾을 때 ‘LIKE’를 사용한다. 패턴을 정의할 때는 ‘%’와 ‘_‘을 사용한다.
- ’%’은 임의의 문자열을 의미하는 메타문자이다.
- ‘_‘은 임의의 문자 하나를 의미하는 메타문자이다.
컬럼명 LIKE ‘패턴’
1. 전방일치
1
SELECT * FROM test_table WHERE text LIKE 'IT%';
문자열 ‘IT’로 시작하는 text 열 값이 검색된다.
2. 중간일치
1
SELECT * FROM test_table WHERE text LIKE '%IT%';
문자열 ‘IT’를 포함하는 text 열 값이 검색된다. 메타문자 ‘%’는 빈 문자열과 매치될 수 있어 문자열 ‘IT’로 시작하는 text 열 값도 검색할 수 있다.
3. 후방일치
1
SELECT * FROM test_table WHERE text LIKE '%IT';
전방일치와 동일하다.
그렇다면 메타문자 ‘%’ 혹은 ‘_‘을 포함하는 문자열을 찾을 땐 어떻게 하면 될까?
’/’로 이스케이프
1
SELECT * FROM test_table WHERE text LIKE '%/%%';
맨 앞과 맨 뒤의 ‘%’는 메타문자 ‘%’이고, ‘/’뒤의 ‘%’는 검색하고자 하는 일반문자인 ‘%’이다. ‘‘를 포함하는 문자열을 찾을 땐 ‘%’와 동일하게 ‘//‘을 사용한다.
‘의 이스케이프
표준 SQL에서는 ‘를 2개 연속해서 쓰는 것으로 이스케이프 처리를 할 수 있다.
1
She's a baby -> 'She''s a baby'