본문 바로가기
저장소이야기/Oracle

[Oracle] LIKE 연산자

by 사랑꾼이야 2020. 6. 8.
반응형


'

LIKE.

특정 문자 또는 문자열의 대하여 필드안에서 검색할 때 사용 가능.

'_' 나 '%' 등 특수문자의 대하여 검색 가능.


doc.

https://docs.oracle.com/cd/B13789_01/server.101/b10759/conditions016.htm


샘플데이터.

EMPLOYEE_ID|EMPLOYEE_NAME|JOB      |MANAGER_ID|HIREDATE           |SALARY|COMMISSION|DEPARTMENT_ID|
-----------|-------------|---------|----------|-------------------|------|----------|-------------|
       8000|CODE_LSH     |SALESMAN |      7902|1980-12-17 00:00:00|  5000|          |           30|
       8001|CODE%LSH     |SALESMAN |      7902|1981-09-28 00:00:00|  1250|      1400|           30|
       7521|WARD         |SALESMAN |      7698|1981-02-22 00:00:00|  1250|       500|           30|
       7566|JONES        |MANAGER  |      7839|1981-04-02 00:00:00|  2975|          |           20|
       7654|MARTIN       |SALESMAN |      7698|1981-09-28 00:00:00|  1250|      1400|           30|
       7698|BLAKE        |MANAGER  |      7839|1981-05-01 00:00:00|  2850|          |           30|
       7782|CLARK        |MANAGER  |      7839|1981-06-09 00:00:00|  2450|          |           10|
       7788|SCOTT        |ANALYST  |      7566|0087-02-13 00:00:00|  3000|          |           20|
       7839|KING         |PRESIDENT|          |1981-11-17 00:00:00|  5000|          |           10|
       7369|SMITH        |CLERK    |      7902|1980-12-17 00:00:00|   800|          |           20|
       7499|ALLEN        |SALESMAN |      7698|1981-02-20 00:00:00|  1600|       300|           30|
       7844|TURNER       |SALESMAN |      7698|1981-09-08 00:00:00|  1500|         0|           30|
       7876|ADAMS        |CLERK    |      7788|0087-02-13 00:00:00|  1100|          |           20|
       7900|JAMES        |CLERK    |      7698|1981-12-03 00:00:00|   950|          |           30|
       7902|FORD         |ANALYST  |      7566|1981-12-03 00:00:00|  3000|          |           20|
       7934|MILLER       |CLERK    |      7782|1982-01-23 00:00:00|  1300|          |           10|


사용방법.

x [NOT] LIKE y [ESCAPE 'z']


예시1.

직원의 이름이 'T'로 시작하는 직원을 구하라.

SELECT EMPLOYEE_NAME 
FROM EMPLOYEES
WHERE EMPLOYEE_NAME LIKE 'T%';

결과1.

EMPLOYEE_NAME|
-------------|
TURNER       |


예시2.

직원의 이름이 'R'로 끝나는 직원을 구하라.

SELECT EMPLOYEE_NAME 
FROM EMPLOYEES
WHERE EMPLOYEE_NAME LIKE '%R';

결과2.

EMPLOYEE_NAME|
-------------|
TURNER       |
MILLER       |


예시3.

SELECT EMPLOYEE_NAME 
FROM EMPLOYEES
WHERE EMPLOYEE_NAME LIKE '%N%';

결과3.

EMPLOYEE_NAME|
-------------|
JONES        |
MARTIN       |
KING         |
ALLEN        |
TURNER       |


응용1.

직원의 이름에 특수문자('_')를 구하라.

예시1.

SELECT EMPLOYEE_NAME 
   FROM employees
   WHERE EMPLOYEE_NAME LIKE '%\_%' ESCAPE '\'; 

예시2.

SELECT EMPLOYEE_NAME 
   FROM employees
   WHERE EMPLOYEE_NAME LIKE '%#_%' ESCAPE '#'; 

결과1~2.

예시1과 예시2의 결과는 똑같다.

EMPLOYEE_NAME|
-------------|
CODE_LSH     |


응용2.

직원의 이름에 특수문자('%')를 구하라.

예시1.

SELECT EMPLOYEE_NAME 
   FROM employees
   WHERE EMPLOYEE_NAME LIKE '%@%%' ESCAPE '@';

결과1.

EMPLOYEE_NAME|
-------------|
CODE%LSH     |


활용.

조회 조건의 대한 검색에서 많이 사용되는 연산자이다.

반응형

댓글