NULL

LIKE 연산자와 와일드 카드 ESCAPE절 본문

SQL/Oracle

LIKE 연산자와 와일드 카드 ESCAPE절

1924 2022. 3. 9. 01:23

LIKE 연산자

LIKE 연산자는 이메일, 게시판, 제목 또는 내용 검색기능처럼

일부 문자열이 포함된 데이터를 조회할 때 사용한다.

 

와일드카드

조건식에서 _ 또는 % 를 와일드카드라고 한다.

와일드 카드는 특수 문자 또는 문자열을 대체하거나

문자열 데이터의 패턴을 표기하는 특수문자이다.

LIKE와 같이 쓸 수 있는 와일드카드는 _와 %이다.

 

종류 의미
_ 어떤 값이든 상관없이 한 개의 문자 데이터를 의미
% 길이와 상관없이(문자 없는 경우 포함)
모든 문자 데이터를 의미

 

LIKE 연산자 사용하여 출력

위와 같이 조건식안의 와일드카드 %S%는

앞뒤 상관없이 문자열안에 S가 포함된 문자열 데이터를 출력한다.

 

조건식이 S%라면 S로 시작하는 문자열 데이터를 출력하고

%S라면 S로 끝나는 문자열 데이터를 출력한다.

 

ESCAPE

만약 _나 % 문자데이터가 포함된 경우는

와일드카드를 쓰기가 애매하다.

 

하지만 ESCAPE절을 사용한다면 해결된다.

와일드카드 기호앞에 백슬래시(\)를 넣어주면 된다.

 

예를 들어

찾고 싶은 데이터가 A_A를 포함하는 데이터라면 

%A\_A% 를 하면 된다.

 

보충자료

 

 

사원이름의 두 번째 글자가 L인 사람만 출력

조건식안의 와일드카드 _L%를 해석하자면

두 번째 문자가 L로 시작하는 문자열을 출력한다.

 

두 번째 문자는 반드시 L이고, L앞에는 반드시 한 문자가 와야한다.

 

_ 1개당 앞 1글자라고 보면 된다.

위의 코드는 _ 1개만 사용했으므로 2번째 문자가 L인 것을 찾게 된다.

 

 

NOT LIKE 연산자 사용

LIKE 연산자에서도 NOT을 사용할 수 있다.

 

F로 시작하는 문자열을 제외한 나머지 문자열을 출력한 결과물이다.

'SQL > Oracle' 카테고리의 다른 글

집합 연산자 (UNION, UNION ALL, MINUS, INTERSECT)  (0) 2022.03.16
IS NULL연산자  (0) 2022.03.15
BETWEEN 연산자  (0) 2022.03.09
IN 연산자  (0) 2022.03.09
WHERE절 조건식  (0) 2022.03.08
Comments