[프로그래밍] DataBase

[DATABASE] ORACLE 함수와 표현식

JHVan 2024. 11. 11. 14:04

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