빅데이터과정/SQL
#8_140624_정규식 함수
하히후후후
2014. 7. 14. 11:19
728x90
# 정규식 함수
l 정규식 함수
- regexp_like :
- regexp_substr
- regexp_instr
- regexp_replace
- regexp_count
^ : 시작
$ : 끝
. 자릿수
| : 또는
문제322. 사원 이름에 EN 또는 IN 을 포함하고 있는 사원들의 사원번호, 이름, 월급을 출력하시오
#튜닝 전
SELECT empno, ename, sal
FROM EMP
WHERE ename LIKE '%EN%' or ename LIKE '%IN';
#튜닝 후
SELECT empno,ename, sal
FROM EMP
WHERE regexp_like(ename,'(EN|IN)');
문제323. 이름의 첫글자가 S로 시작하고 끝글자가 T또는 H로 끝나는 사원들의 이름을 출력하시오
SELECT ename
FROM EMP
WHERE regexp_like(ename,'^S...(T|H)$');
SELECT ename
FROM EMP
WHERE regexp_like(ename,'^S.+(T|H)$');
l .+ : 가운데 글자수가 몇 개인지 상관없음
문제324. 이름, 월급을 출력하는데 월급을 0 대신에 * 로 출력하시오
SELECT ename, REPLACE(sal,0,'*') salary
FROM EMP;
문제325. 이름, 월급을 출력하는데 숫자 0,1,2 는 * 로 출력하시오
SELECT ename, regexp_replace(sal,'[0-2]','*') salary
FROM EMP;