TIL 20.

Sol Karsian·2025년 3월 10일
post-thumbnail

📘 TIL - Java & SQL 20일차: SQL 함수 (단일행 함수 & 그룹 함수) 정리
오늘은 Oracle SQL에서 자주 사용하는 함수(Function)들을 정리했습니다.
SQL 함수는 데이터를 가공하거나 조건에 맞춰 출력하는 데 필수적인 도구로, 효율적인 쿼리 작성을 가능하게 해줍니다.

✅ 함수(Function)이란?
하나의 큰 프로그램에서 반복적으로 사용되는 부분을 분리한 서브 프로그램

호출 시 값을 전달받아 결과를 리턴함

SQL에서 함수는 행 단위로 처리하거나 전체 그룹을 요약할 때 사용됨

SQL 함수는 크게 단일 행 함수와 그룹 함수로 나뉜다.

🔹 1. 단일 행 함수 (Single Row Function)
한 행씩 처리 → 입력한 행 수만큼 결과 반환

🧵 1.1 문자열 함수

함수 설명 예시
LENGTH() 문자열 길이 SELECT LENGTH('Hello'); -- 5
INSTR() 문자열 내 위치 검색 SELECT INSTR('Hello World', 'o', 5, 1); -- 7
SUBSTR() 문자열 자르기 SELECT SUBSTR('Hello World', 7, 5); -- 'World'
TRIM() 공백 또는 지정 문자 제거 SELECT TRIM(' Hello '); -- 'Hello'
🔢 1.2 숫자 함수

함수 설명 예시
ABS() 절대값 SELECT ABS(-10); -- 10
MOD() 나머지 SELECT MOD(10, 3); -- 1
ROUND() 반올림 SELECT ROUND(3.14159, 2); -- 3.14
CEIL() 올림 SELECT CEIL(3.1); -- 4
FLOOR() 내림 SELECT FLOOR(3.9); -- 3
TRUNC() 절삭 SELECT TRUNC(3.14159, 2); -- 3.14
📆 1.3 날짜 함수

함수 설명 예시
SYSDATE 현재 날짜/시간 SELECT SYSDATE FROM DUAL;
MONTHS_BETWEEN() 개월 차이 SELECT MONTHS_BETWEEN('2023-10-27', '2023-01-01');
ADD_MONTHS() 개월 더하기 SELECT ADD_MONTHS('2023-01-01', 3); -- 2023-04-01
LAST_DAY() 해당 월 마지막 날 SELECT LAST_DAY('2023-02-01');
EXTRACT() 날짜에서 년/월/일 추출 SELECT EXTRACT(YEAR FROM SYSDATE);
🔄 1.4 형변환 함수

함수 설명 예시
TO_CHAR() 날짜/숫자 → 문자열 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD');
TO_DATE() 문자열 → 날짜 SELECT TO_DATE('20231027', 'YYYYMMDD');
TO_NUMBER() 문자열 → 숫자 SELECT TO_NUMBER('123');
🧩 1.5 NULL 처리 함수

함수 설명 예시
NVL() NULL → 다른 값으로 치환 SELECT NVL(NULL, 0); -- 0
NVL2() NULL 여부에 따라 다른 결과 반환 SELECT NVL2(10, 'Not Null', 'Null'); -- 'Not Null'
🎯 1.6 선택 함수

함수 설명 예시
DECODE() switch 문처럼 값 비교 SELECT DECODE(1, 1, 'One', 2, 'Two', 'Other');
CASE WHEN 조건문 (if문처럼 사용) SELECT CASE WHEN 1 > 0 THEN 'True' ELSE 'False' END;
🔸 2. 그룹 함수 (Group Function)
여러 행을 그룹으로 묶어 하나의 결과 반환

함수 설명 예시
SUM() 총합 SELECT SUM(salary) FROM employees;
AVG() 평균 SELECT AVG(salary) FROM employees;
MIN() 최소값 SELECT MIN(salary) FROM employees;
MAX() 최대값 SELECT MAX(salary) FROM employees;
COUNT() 개수 SELECT COUNT(*) FROM employees;

🧠 오늘의 한 줄 정리
함수는 SQL의 기본이자 실전에서 가장 많이 쓰는 도구입니다.
특히 단일 행 함수와 그룹 함수의 구분은 꼭 익혀두자!

profile
개발자 희망자 입니다.

0개의 댓글