Knowledge/이론

오라클 함수 - 단일행 함수

똑똑한망치 2024. 7. 24. 17:47
728x90
반응형

1. 오라클 함수 종류

오라클 함수는 함수를 제작한 주체를 기준으로 오라클에서 기본으로 제공하고 있는 내장 함수(built-in function)와 사용자가 필요에 의해 직접 정의한 사용자 정의 함수 (user-defined function)으로 나뉜다.

 

내장 함수는 입력 방식에 따라 데이터 처리에 사용하는 행이 나뉜다. 데이터가 한 행씩 입력되고 입력된 한 행당 결과가 하나씩 나오는 함수를 단일행 함수(single-row function)라고 한다. 반면 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수를 다중행 함수(multiple-row function)라고 한다.

 

2. 단일행 함수 (single-row function)

(1) 문자 데이터를 가공하는 문자 함수

대 · 소문자를 바꿔 주는 UPPER, LOWER, INITCAP 함수

함수 설명
UPPER(문자열) 괄호 안 문자 데이터를 모두 대문자로 변환하여 반환
LOWER(문자열) 괄호 안 문자 데이터를 모두 소문자로 변환하여 반환
INITCAP(문자열) 괄호 안 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환

 

 

문자열 길이를 구하는 LENGTH 함수

LENGTH(문자열) ➡️ 문자열 길이 반환

 

문자열 일부를 추출하는 SUBSTR 함수

함수 설명
SUBSTR(문자열 데이터, 시작 위치, 추출 길이) 문자열 데이터의 시작 위치부터 추출 길이만큼 추출한다.
시작위치가 음수일 경우 마지막 위치부터 거슬러 올라간 위치에서 시작한다.
SUBSTR(문자열 데이터, 시작 위치) 문자열 데이터의 시작 위치부터 문자열 데이터 끝까지 추출한다.
시작위치가 음수일 경우 마지막 위치부터 거슬러 올라간 위치에서 끝까지 추출한다.

 

 

문자열 데이터 안에서 특정 문자 위치를 찾는 INSTR 함수

[기본 형식]

INSTR([대상 문자열 데이터(필수)],

            [위치를 찾으려는 부분 문자(필수)],

            [위치 찾기를 시작할 대상 문자열 데이터 위치(선택, 기본값은 1)],

            [시작 위치에서 찾으려는 문자가 몇 번째인지 지정(선택, 기본값은 1)])

 

[예시]

SELECT INSTR('HELLO, ORACLE!', 'L') AS INSTR_1,
       INSTR('HELLO, ORACLE!', 'L', 5) AS INSTR_2,
       INSTR('HELLO, ORACLE!', 'L', 2, 2) AS INSTR_3
       FROM DUAL;

[결과값]

INSTR_1 INSTR_2 INSTR_3
3 12 4

 

 

특정 문자를 다른 문자로 바꾸는 REPLACE 함수

[기본 형식]

REPLACE([문자열 데이터 또는 열 이름(필수)], [찾는 문자(필수)], [대체 문자(선택)])

➡️ 만약 대체할 문자를 입력하지 않으면 찾는 문자로 지정된 문자는 문자열 데이터에서 삭제된다.

 

 

데이터의 빈 공간을 특정 문자로 채우는 LPAD, RPAD 함수

데이터와 자릿수를 지정한 후 데이터 길이가 지정한 자릿수보다 작을 경우에 나머지 공간을 특정 문자로 채우는 함수이다.

 

[기본 형식]

LPAD([문자열 데이터 또는 열 이름(필수)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)])

RPAD([문자열 데이터 또는 열 이름(필수)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)])

➡️ 만약 빈 공간을 채울 문자를 지정하지 않으면 빈 공간의 자릿수만큼 공백 문자로 띄운다.

 

두 문자열 데이터를 합치는 CONCAT 함수

 

특정 문자를 지우는 TRIM, LTRIM, RTRIM 함수

문자열 데이터 내에서 특정 문자를 지우기 위해 사용한다.

 

 

 

(2) 숫자 데이터를 연산하고 수치를 조정하는 숫자 함수

함수 설명
ROUND 지정된 숫자의 특정 위치에서 반올림한 값을 반환
TRUNC 지정된 숫자의 특정 위치에서 버림한 값을 반환
CEIL 지정된 숫자보다 큰 정수 중 가장 작은 정수를 반환(올림)
FLOOR 지정된 숫자보다 작은 정수 중 가장 큰 정수를 반환(내림)
MOD 지정된 숫자를 나눈 나머지 값을 반환 (나머지 연산)

 

 

(3) 날짜 데이터를 다루는 날짜 함수

오라클에서 날짜 데이터, 즉 DATE형 데이터는 간단한 연산이 가능하다.

연산 설명
날짜 데이터 + 숫자 날짜 데이터보다 숫자만큼 일수 이후의 날짜
날짜 데이터 - 숫자 날짜 데이터보다 숫자만큼 일수 이전의 날짜
날짜 데이터 - 날짜 데이터 두 날짜 데이터 간의 일수 차이
날짜 데이터 + 날짜 데이터 연산 불가, 지원하지 않음

 

몇 개월 이후 날짜를 구하는 ADD_MONTHS 함수

[기본 형식]

ADD_MONTHS([날짜 데이터(필수)], [더할 개월 수(정수)(필수)])

➡️ 특정 날짜 데이터에 입력한 개월 수 만큼의 이후 날짜를 출력

 

두 날짜 간의 개월 수 차이를 구하는 MONTHS_BETWEEN 함수

[기본 형식]

MONTHS_BETWEEN([날짜 데이터(필수)], [날짜 데이터(필수)])

 

돌아오는 요일, 달의 마지막 날짜를 구하는 NEXT_DAY, LAST_DAY 함수

[기본 형식]

NEXT_DAY([날짜 데이터(필수)], [요일 문자(필수)])

➡️ 특정 날짜를 기준으로 돌아오는 요일의 날짜를 출력

 

LAST_DAY([날짜 데이터(필수)])

➡️ 특정 날짜가 속한 달의 마지막 날짜를 출력

 

(4) 자료형을 변환하는 형 변환 함수

종류 설명
TO_CHAR 숫자 또는 날짜 데이터를 문자 데이터로 변환
TO_NUMBER 문자 데이터를 숫자 데이터로 변환
TO_DATE 문자 데이터를 날짜 데이터로 변환

 

문자를 중심으로 숫자 또는 날짜 데이터로 변환 가능하다.

 

반응형

'Knowledge > 이론' 카테고리의 다른 글

MyBatis  (0) 2024.07.26
PL/SQL  (0) 2024.07.25
오라클 데이터베이스  (2) 2024.07.23
JWT (Json Web Token) 이란  (0) 2024.06.30
소프트웨어 아키텍처  (0) 2024.06.27