반응형
1. 함수의 정의와 개념
함수(Function)는 특정 입력 값을 받아서 연산 또는 처리를 수행한 뒤 결과 값을 반환하는 프로그래밍 도구입니다. 오라클 데이터베이스에서 함수는 SQL 문에서 활용할 수 있는 강력한 기능으로, 데이터를 조작하거나 가공할 때 자주 사용됩니다.
오라클 함수는 크게 두 가지로 나뉩니다.
- 내장 함수(Built-in Function): 오라클에서 기본 제공하는 함수로, 수학, 문자열, 날짜, 변환 등의 작업을 수행합니다.
- 사용자 정의 함수(User-Defined Function): 사용자가 PL/SQL로 직접 정의하여 사용하는 함수입니다.
이 중 내장 함수는 대부분의 데이터 처리 작업에 필수적이며, 코드 작성 및 유지보수의 생산성을 크게 높이는 역할을 합니다.
2. 오라클 내장 함수의 종류
오라클 내장 함수는 다양한 데이터 처리 작업을 지원하며, 주요 분류는 다음과 같습니다.
- 문자열 함수(String Functions): 문자열 데이터를 처리하는 함수
- CONCAT, SUBSTR, LENGTH, UPPER, LOWER, REPLACE 등
- 숫자 함수(Number Functions): 숫자 데이터를 처리하는 함수
- ROUND, TRUNC, MOD, ABS, POWER 등
- 날짜 함수(Date Functions): 날짜 데이터를 처리하는 함수
- SYSDATE, ADD_MONTHS, LAST_DAY, MONTHS_BETWEEN 등
- 변환 함수(Conversion Functions): 데이터 타입을 변환하는 함수
- TO_CHAR, TO_DATE, TO_NUMBER 등
- 집계 함수(Aggregate Functions): 그룹화된 데이터를 처리하는 함수
- SUM, AVG, COUNT, MIN, MAX 등
3. 주요 오라클 내장 함수 예제
(1) 문자열 함수
문자열 데이터를 조작하거나 정보를 추출할 때 사용합니다.
-- 예시: 이름의 첫 글자 대문자로 변환
SELECT CONCAT(UPPER(SUBSTR(name, 1, 1)), LOWER(SUBSTR(name, 2))) AS formatted_name
FROM employees;
-- 결과: 'hONGgILDONG' → 'Honggildong'
(2) 숫자 함수
숫자를 계산하거나 특정 값을 반환합니다.
-- 예시: 급여를 소수점 두 자리까지 반올림
SELECT ROUND(salary, 2) AS rounded_salary
FROM employees;
-- 예시: 나머지 구하기
SELECT MOD(15, 4) AS remainder FROM DUAL;
-- 결과: 15 ÷ 4 = 3...3 (나머지 3)
(3) 날짜 함수
날짜와 시간 데이터를 처리할 때 사용됩니다.
-- 예시: 현재 날짜와 3개월 뒤의 날짜 확인
SELECT SYSDATE AS today, ADD_MONTHS(SYSDATE, 3) AS three_months_later FROM DUAL;
-- 예시: 두 날짜 간의 차이 계산
SELECT MONTHS_BETWEEN(TO_DATE('2024-12-31', 'YYYY-MM-DD'), SYSDATE) AS months_diff
FROM DUAL;
(4) 변환 함수
데이터 형식을 변환하거나 특정 형식으로 출력합니다.
-- 예시: 날짜 데이터를 문자열로 변환
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS current_date_time FROM DUAL;
-- 예시: 문자열을 숫자로 변환 후 계산
SELECT TO_NUMBER('1234') + 100 AS calculated_value FROM DUAL;
(5) 집계 함수
데이터를 그룹화하거나 요약하여 정보를 얻습니다.
-- 예시: 직원들의 평균 급여 계산
SELECT AVG(salary) AS average_salary FROM employees;
-- 예시: 직원 수와 최고 급여 조회
SELECT COUNT(*) AS total_employees, MAX(salary) AS highest_salary FROM employees;
4. 내장 함수 활용 시 유의점
- 데이터 타입: 입력 값의 데이터 타입이 함수의 요구 조건에 맞지 않으면 오류가 발생할 수 있습니다. 적절한 변환 함수와 함께 사용하는 것이 좋습니다.
- 성능 최적화: 대량 데이터를 처리할 때는 함수가 실행 성능에 영향을 줄 수 있으므로, 필요 이상으로 중첩된 함수 사용을 피해야 합니다.
- 오라클 버전 호환성: 일부 내장 함수는 특정 오라클 버전에서만 지원될 수 있으므로 버전 호환성을 확인해야 합니다.
5. 결론
오라클 내장 함수는 데이터베이스 작업을 단순화하고, 데이터 처리 속도를 향상시키는 강력한 도구입니다. 문자열, 숫자, 날짜, 변환, 집계 등 다양한 유형의 내장 함수를 활용하면 데이터를 보다 효율적으로 다룰 수 있습니다.
특히, 내장 함수는 SQL 작성의 생산성을 높이고 코드의 가독성을 향상시키므로, 데이터베이스 작업에서 반드시 익혀야 할 핵심 기술입니다. 이를 잘 활용하면 오라클 데이터베이스에서 더 높은 효율성과 정확성을 달성할 수 있습니다.
반응형
'Database' 카테고리의 다른 글
오라클 문자열 함수의 핵심 이해: CONCAT, SUBSTR, INSTR (0) | 2024.12.03 |
---|---|
오라클 SQL 숫자 함수: ROUND, TRUNC, MOD (0) | 2024.12.03 |
오라클 LIKE 연산자를 활용한 패턴 검색의 모든 것 (0) | 2024.12.03 |
오라클 BETWEEN과 IN 연산자의 이해와 활용 (0) | 2024.12.03 |
오라클 DB에서 AND, OR, NOT 논리 연산자 사용법 (0) | 2024.12.03 |