개발 & 데이터베이스/DB
오라클 LIKE 함수, REGEXP_LIKE 함수 (다중 LIKE)
K.두부
2022. 1. 17. 23:39
반응형
LIKE, REGEXP_LIKE 함수 정의
해당 컬럼의 문자열 안에서 특정 문자값이 포함되어 있는지 찾을 때 사용하는 함수
LIKE, REGEXP_LIKE 함수 사용 방법
CREATE TABLE STUDENT (
SNAME VARCHAR2 (20) NOT NULL,
S_ID INTEGER NOT NULL,
PRIMARY KEY(S_ID)
);
INSERT INTO STUDENT VALUES('홍길동' 1);
INSERT INTO STUDENT VALUES('김두부' 2);
INSERT INTO STUDENT VALUES('손오공' 3);
INSERT INTO STUDENT VALUES('유재석' 4);
INSERT INTO STUDENT VALUES('강호동' 5);
INSERT INTO STUDENT VALUES('김기린' 6);
INSERT INTO STUDENT VALUES('강아지' 7);

1. LIKE 함수
⑴ 이름에 '길'이 들어간 사람을 구하시오.
SELECT SNAME
FROM STUDENT
WHERE SNAME LIKE '%길%';

⑵ 이름에 '홍'이 안들어간 사람을 구하시오.
SELECT SNAME
FROM STUDENT
WHERE SNAME NOT LIKE '%홍%';

⑶ 이름에 '홍'과 '강'이 들어간 사람을 구하시오.
SELECT SNAME
FROM STUDENT
WHERE SNAME LIKE '%홍%' OR SNAME LIKE '%강%';

2. 다중 LIKE
⑴ LIKE 함수를 이용해서 '홍', '김', '이', '강'이 들어간 사람을 구하시오.
SELECT SNAME
FROM STUDENT
WHERE SNAME LIKE '%홍%' OR SNAME LIKE '%김%'
OR SNAME LIKE '%이%' OR SNAME LIKE '%강%';
⑵ REGEXP_LIKE 함수를 이용해서 '홍', '김', '이', '강'이 들어간 사람을 구하시오.
SELECT SNAME
FROM STUDENT
WHERE REGEXP_LIKE (SNAME, '(홍|김|이|강)');

반응형