[Oracle] 단일함수 - 문자함수

chael_lo·2021년 6월 29일
0

Oracle

목록 보기
8/17

UPPER(문자값), LOWER(문자값)

UPPER(문자값) : 문자값을 전달받아 대문자로 변환하여 반환하는 함수
LOWER(문자값) : 문자값을 전달받아 소문자로 변환하여 반환하는 함수
UPPER 함수 또는 LOWER 함수를 이용하면 대소문자 구분없이 비교 가능하다.

--EMP 테이블에서 사원이름이 [SMITH]인 사원의 사원번호,사원이름,급여 검색하기
SELECT EMPNO,ENAME,SAL FROM EMP WHERE UPPER(ENAME)=UPPER('SMITH');
SELECT EMPNO,ENAME,SAL FROM EMP WHERE UPPER(ENAME)=UPPER('smith');

INITCAP(문자값)

문자값을 전달받아 첫문자만 대문자로 변환하고 나머지는 소문자로 변환하여 반환하는 함수다.

--EMP 테이블에서 ENAME과 
--ENAME에서 첫문자만 대문자로 변환하고 나머지는 소문자로 변환하여 검색하기
SELECT ENAME,INITCAP(ENAME) FROM EMP;

CONCAT(문자값,문자값)

두 개의 문자값을 전달받아 결합하여 반환하는 함수다.
|| 기호와 동일한 기능을 제공한다.

--EMP 테이블에서 JOB, ENAME을 검색하고
--CONCAT을 이용하여 JOB, ENAME의 문자값을 결합한 결과와 
--||기호를 이용하여 JOB, ENAME의 문자값을 결합한 결과를 검색하기
SELECT ENAME,JOB,CONCAT(ENAME,JOB),ENAME||JOB FROM EMP;

SUBSTR(문자값,시작위치,갯수)

문자값을 전달받아 시작위치(INDEX)부터 갯수만큼의 문자을 분리하여 반환하는 함수다.

--EMP테이블에서 EMPNO가 7499인 행의
--EMPNO, ENAME, JOB을 검색하고
--JOB에서 문자 6번째 자리에서 뒤로 3자리 분리하여 반환하여 검색하기
SELECT EMPNO,ENAME,JOB,SUBSTR(JOB,6,3) FROM EMP WHERE EMPNO=7499;

LENGTH(문자값)

문자값을 전달받아 문자의 갯수를 반환하는 함수다.

--EMP테이블에서 EMPNO가 7499인 행의
--EMPNO, ENAME, ENAME의 문자의 갯수를 검색하기
SELECT EMPNO,ENAME,LENGTH(ENAME) FROM EMP WHERE EMPNO=7499;

INSTR(문자값,검색문자값,시작위치,갯수)

문자값을 전달받아 검색문자값를 시작위치부터 검색하여 원하는 갯수의 시작위치를 반환하는 함수다. 검색문자가 없는 경우 0을 반환한다.

SELECT EMPNO,ENAME,JOB,INSTR(JOB ,'A',1,2) FROM EMP WHERE EMPNO=7499;

SELECT EMPNO,ENAME,JOB,INSTR(JOB,'X',1,1) FROM EMP WHERE EMPNO=7499;

LPAD(문자값,자릿수,채울문자), RPAD(문자값,자릿수,채울문자)

LPAD: 문자값을 전달받아 자릿수만큼의 길이로 오른쪽 정렬하여 검색하고 왼쪽 남은 자릿수에는 채울문자로 채워 반환하는 함수
RPAD: 문자값을 전달받아 자릿수만큼의 길이로 왼쪽 정렬하여 검색하고 오른쪽 남은 자릿수에는 채울문자로 채워 반환하는 함수

--SAL을 검색하여 SAL만큼 넣고 남은 자리는 *로 채워서 8자리 표현하여 검색하기
SELECT EMPNO,ENAME,SAL,LPAD(SAL,8,'*'),RPAD(SAL,8,'*') FROM EMP WHERE EMPNO=7844;

TRIM({LEADING|TRAILING} 제거문자 FROM 문자값)

문자값을 전달받아 앞(LEADING) 또는 뒤(TRAILING)에 존재하는 제거문자를 모두 제거하여 반환하는 함수다.

--앞에 있는 'S', 뒤에 존재하는 N을 제거하여 반환하여 검색하기
SELECT EMPNO,ENAME,JOB,TRIM(LEADING 'S' FROM JOB),TRIM(TRAILING 'N' FROM JOB) FROM EMP WHERE EMPNO=7844;

REPLACE(문자값,검색문자,변환문자)

문자값을 전달받아 검색문자를 찾아 변환문자로 변환하여 반환하는 함수다.

--'MAN'을 찾아 'PERSON'으로 바꿔서 검색하기
SELECT EMPNO,ENAME,JOB,REPLACE(JOB,'MAN','PERSON') FROM EMP WHERE EMPNO=7844;

profile
천천히 꾸준히

0개의 댓글