ORACLE 의 함수는 크게 단일 행 함수 와 그룹 함수(집계 함수)로 나뉨
단일 행 함수 : 각 행에 대해 작업을 수행하여 결과를 반환
사용 예:
- UPPER() : 문자열을 대문자로 변환
SELECT UPPER(first_name) AS upper_name FROM Patients;
-- 환자의 이름을 대문자로 변환하여 반환합니다.
- LOWER() : 문자열을 소문자로 변환
SELECT LOWER(last_name) AS lower_name FROM Doctors;
-- 의사의 성을 소문자로 변환하여 반환합니다.
- TO_CHAR() : 날짜나 숫자를 문자열로 변환
SELECT TO_CHAR(birth_date, 'YYYY-MM-DD') AS formatted_date FROM Patients;
-- 생년월일을 'YYYY-MM-DD' 형식으로 변환하여 반환합니다.
- NVL() : NULL 값을 다른 값으로 대체
SELECT NVL(contact_number, 'Not Available') AS contact_info FROM Patients;
-- 연락처가 NULL인 경우 'Not Available'로 표시합니다.
그룹 함수 (집계 함수) : 그룹 내의 데이터를 집계하여 단일 결과를 반환
예시:
- COUNT() : 행의 개수를 반환
SELECT COUNT(*) AS total_patients FROM Patients;
-- 전체 환자의 수를 반환합니다.
- SUM(): 숫자 열의 합계를 반환
SELECT SUM(bill_amount) AS total_revenue FROM Bills;
-- 병원 청구서 금액의 총합을 반환합니다.
- AVG() : 평균값을 반환
SELECT AVG(age) AS average_age FROM Patients;
-- 환자의 평균 연령을 반환합니다.
- MAX(), MIN() : 최댓값, 최솟값을 반환
SELECT MAX(birth_date) AS latest_birth, MIN(birth_date) AS earliest_birth FROM Patients;
-- 가장 늦게 태어난 환자와 가장 일찍 태어난 환자의 생년월일을 반환합니다.
표현식 : 연산자, 함수, 상수, 열 이름 등을 조합하여 계산하거나 데이터의 일부를 반환할 때 사용
예시 :
CASE 표현식 : 조건에 따라 다른 값을 반환
SELECT name,
CASE
WHEN department = 'Emergency' THEN 'Critical'
WHEN department = 'General' THEN 'Routine'
ELSE 'Specialty'
END AS patient_priority
FROM Patients;
-- 각 환자의 부서에 따라 우선순위를 반환합니다.
산술 표현식
SELECT bill_amount * 1.1 AS adjusted_bill FROM Bills;
-- 청구 금액에 10% 추가하여 반환합니다.
'[프로그래밍] DataBase' 카테고리의 다른 글
[DATABASE] SELF JOIN, UNION, GROUP BY (0) | 2024.11.12 |
---|---|
[DATABASE] ORACLE JOIN (0) | 2024.11.11 |
[DATABASE] ORACLE 연산자 (0) | 2024.11.11 |
[DATABASE] ORACLE SQL (3) | 2024.11.11 |
[DataBase] SQL 구문 (0) | 2024.05.15 |