-
Oracle 함수(Function) - 문자 처리 함수데이터베이스/Oracle 2020. 11. 9. 15:49728x90반응형
함수(Function)
함수란 하나의 큰 프로그램에서 반복적으로 사용되는 부분들을 분리하여 작성해 놓은 작은 서브 프로그램 호출하며 값을 전달하면 결과를 리턴하는 방식으로 사용된다.
1) 단일행 함수
각 행마다 반복적으로 적용되어 입력 받은 행의 개수만큼 결과 반환한다.
2) 그룹 함수
특정 행들의 집합으로 그룹이 형성되어 적용됨 그룹 당 1개의 결과 반환한다.
문자 처리 함수
여러가지 문자 처리 함수들을 알아보자
LENGTH
LENGTH는 주어진 컬럼 값/문자열의 길이(문자 개수) 반환한다.
- CHAR | STRING : 문자 타입 컬럼 또는 문자열
[ LENGTH 예시 ]
SELECT EMP_NAME, LENGTH(EMP_NAME), EMAIL, LENGTH(EMAIL) FROM EMPLOYEE;
LENGTHB
LENGHTB는 주어진 컬럼 값/문자열의 길이(BYTE)로 반환한다.
- CHAR | STRING : 문자 타입 컬럼 또는 문자열
[ LENGTHB 예시 ]
SELECT EMP_NAME, LENGTHB(EMP_NAME), EMAIL, LENGTHB(EMAIL) FROM EMPLOYEE;
INSTR
INSTR는 지정한 위치부터 지정한 숫자 번째로 나타나는 문자의 시작 위치 반환한다.
- STRING : 문자 타입 컬럼 또는 문자열
- STR : 찾으려는 문자열
- POSITION : 찾을 위치 시작 값(기본 값 1)
POSITION > 0 이면 STRING의 시작부터 끝 방향으로 찾고
POSITION < 0 이면 STRING의 끝부터 시작 방향으로 찾는다
- OCCURRENCE : SUBSTRING이 반복될 때 지정하는 빈도(기본 값 1), 음수 사용 불가
[ INSTR 예시 ]
EMAIL 컬럼의 문자열 중 ‘@’의 위치를 구하시오.
SELECT EMAIL, INSTR(EMAIL, '@', -1, 1) 위치 FROM EMPLOYEE;
LTRIM / RTRIM
LTRIM / RTRIM이란 주어진 컬럼, 문자열의 왼쪽(LTRIM) / 오른쪽(RTRIM)에서
지정한 STR에 포함된 모든 문자를 제거한 나머지를 반환한다.
- STRING : 문자 타입 컬럼 또는 문자열
- STR : 제거하려는 문자(열), 생략 시 공백문자
[ LTRIM / RTRIM 예시 ]
SELECT EMP_NAME, LTRIM(PHONE, '010'), RTRIM(EMAIL, '@kh.or.kr') FROM EMPLOYEE;
TRIM
TRIM이란 주어진 컬럼, 문자열의 앞/뒤/양쪽에 있는 지정한 문자를 제거한 나머지 반환한다.
- STRING : 문자 타입 컬럼 또는 문자열
- CHAR : 제거하려는 문자(열), 생략 시 공백문자
- LEADING : TRIM할 CHAR의 위치 지정, 앞(LEADING)/뒤(TRAILING)/양쪽(BOTH) 지정 가능(기본 값 양쪽)
[ TRIM 예시 ]
SUBSTR
SUBSTR이란 컬럼이나 문자열에서 지정한 위치부터 지정한 개수의 문자열을 잘라내어 반환한다.
- STRING : 문자 타입 컬럼 또는 문자열
- POSITION : 문자열을 잘라낼 위치로 양수면 시작방향에서 지정한 수만큼,
음수면 끝 방향에서 지정한 수만큼의 위치 의미
- LENGTH : 반환할 문자 개수(생략 시 문자열의 끝까지 의미, 음수면 NULL 리턴)
[ SUBSTR 예시 ]
LPAD / RPAD
LPAD / RPAD란 주어진 컬럼, 문자열에 임의의 문자열을 왼쪽/오른쪽에 덧붙여 길이 N의 문자열 반환한다.
- STRING : 문자 타입 컬럼 또는 문자열
- N : 반환할 문자(열)의 길이(바이트), 원래 STRING의 길이보다 작다면 N만큼 잘라서 표시
- STR : 덧붙이려는 문자(열), 생략 시 공백문자
[ LPAD / RPAD 예시 ]
LPAD 예
SELECT LPAD(EMAIL, 20, '#') FROM EMPLOYEE;
RPAD 예
SELECT RPAD(EMAIL, 20, '#') FROM EMPLOYEE;
LOWER / UPPER / INITCAP
LOWER : 컬럼의 문자 혹은 문자열을 소문자로 변환하여 반환한다.
UPPER : 컬럼의 문자 혹은 문자열을 대문자로 변환하여 반환한다.
INITCAP : 컬럼의 문자 혹은 문자열의 첫 글자만 대문자로 변환하여 반환한다.
STRING : 문자 타입 컬럼 또는 문자열
[ LOWER / UPPER / INITCAP 예시 ]
CONCAT
CONCAT이란 컬럼의 문자 혹은 문자열을 두 개 전달 받아 하나로 합친 후 반환한다.
[ CONCAT 예시 ]
REPLACE
REPLACE란 컬럼의 문자 혹은 문자열에서 특정 문자(열)을 지정한 문자(열)로 바꾼 후 반환한다.
- STRING : 문자 타입 컬럼 또는 문자열
- STR1 : 변경하려고 하는 문자 혹은 문자열
- STR2 : 변경하고자 하는 문자 혹은 문자열
[ REPLACE 예시 ]
728x90반응형'데이터베이스 > Oracle' 카테고리의 다른 글
Oracle 함수(Function) - 형 변환 함수 (0) 2020.11.11 Oracle 함수(Function) - 날짜 처리 함수 (0) 2020.11.10 Oracle 함수(Function) - 숫자 처리 함수 (0) 2020.11.10 Oracle - 연결 연산자 / 논리 연산자 / 비교 연산자 (0) 2020.11.06 DQL (SELECT) (0) 2020.11.06