언어/SQL

LIKE 연산자

asu2880 2022. 6. 13. 15:49

LIKE

문자열 패턴 검색

패턴에는 ( % ) 와 ( _ )가 사용
( % )는 '모든 문자'라는 의미  |  ( _ )는 '한 글자'라는 의미

  • % : 여러 개의 문자열을 나타내는 와일드 카드
  • _ : 단 하나의 문자를 나타내는 와일드 카드
  • ESCAPE : 와일드 카드 문자를 일반문자 처럼 사용하고 싶은 경우에 사용.
    ex) WHERE name LIKE '%a\_y%' ESCAPE '\'
  • LIKE 연산자는 대소문자를 구분 한다.
  • UPPER() 함수를 이용해 대소문자 구분없이 출력 할 수 있다.(인덱스 성능문제 발생, 함수기반 인덱스 사용..)
  • 참/거짓으로 반환
LIKE 'A%' 'A'로 시작하는 데이터만 검색
LIKE '%A' 'A'로 끝나는 테이터들만 검색
LIKE '%KIM%' 'KIM' 문자가 있는 데이터 들만 검색
LIKE '%K%I%' 'K' 문자와 'I'문자가 있는 데이터 들만 검색
LIKE '_A%' 'A'문자가 두 번째 위치한 데이터 들만 검색

 

💊 'K' 문자가 들어있는 사원 정보 조회
      UPPER() 함수는 'k'를 대문자로 변환하여 'K'로 인식 

SELECT empno, ename
FROM  emp
WHERE  UPPER(ename) LIKE '%K%';

EMPNO   ENAME
------- --------
   7698    BLAKE
   7782    CLARK
   7839     KING

 

💊  '_'를 이용한 LIKE검색

SELECT empno, ename
FROM  emp
WHERE UPPER(ename) LIKE '_I%'

EMPNO   ENAME
------- --------
   7839     KING
   7934   MILLER

SELECT
  'HELLO' LIKE 'hel%',
  'HELLO' LIKE 'H%',
  'HELLO' LIKE 'H%O',
  'HELLO' LIKE '%O',
  'HELLO' LIKE '%HELLO%',
  'HELLO' LIKE '%H',
  'HELLO' LIKE 'L%'​


SELECT
  'HELLO' LIKE 'HEL__',
  'HELLO' LIKE 'h___O',
  'HELLO' LIKE 'HE_LO',
  'HELLO' LIKE '_____',
  'HELLO' LIKE '_HELLO',
  'HELLO' LIKE 'HEL_',
  'HELLO' LIKE 'H_O'


SELECT * FROM Employees
WHERE Notes LIKE '%economics%'


SELECT * FROM Employees
WHERE Notes LIKE 'Michael%'

 

728x90
반응형

'언어 > SQL' 카테고리의 다른 글

문자형 함수  (0) 2022.06.13
숫자형 함수  (0) 2022.06.13
IS, IS NOT 연산자  (0) 2022.06.13
BETWEEN 연산자  (0) 2022.06.13
IN, NOT IN 연산자  (0) 2022.06.13