프로그래밍/DataBase

**오라클 전용 함수(Oracle)**와 표준 SQL 또는 MySQL에서도 사용 가능한 일반 SQL 함수 분류 표

Cognivox 2025. 5. 9. 09:51
반응형

✅ 1. Oracle 전용 함수 정리표

함수 이름기능 설명예시
NVL() NULL이면 지정한 값으로 대체 NVL(price, 0)
DECODE() IF처럼 조건 분기 처리 DECODE(score, 90, 'A', 'B')
SYSDATE 현재 날짜와 시간 반환 SELECT SYSDATE FROM DUAL
TO_CHAR() 숫자/날짜 → 문자열 변환 TO_CHAR(SYSDATE, 'YYYY-MM-DD')
TO_DATE() 문자열 → 날짜 변환 TO_DATE('2025-05-01', 'YYYY-MM-DD')
TO_NUMBER() 문자열 → 숫자 변환 TO_NUMBER('1000')
DUAL 임시 테이블 (FROM 없이 SELECT 시 사용) SELECT 1 FROM DUAL
ROWNUM 결과 행 번호 반환 (페이징용) WHERE ROWNUM <= 5
RTRIM, LTRIM 오른쪽/왼쪽 공백 제거 RTRIM('ABC ')
INSTR() 문자열 위치 찾기 INSTR('hello', 'e') → 2
SUBSTR() 문자열 추출 SUBSTR('hello', 2, 3) → ell
 

✅ 2. 일반 SQL 함수 (표준 SQL/MySQL/다른 DB에서도 사용)

함수 이름기능 설명예시
COALESCE() NULL이 아닌 첫 값 반환 COALESCE(a, b, 0)
CASE WHEN 조건문 (IF 역할) CASE WHEN score > 90 THEN 'A' ELSE 'B' END
COUNT() 행 개수 세기 COUNT(*)
SUM() 합계 SUM(price)
AVG() 평균 AVG(score)
MAX() 최대값 MAX(age)
MIN() 최소값 MIN(age)
NOW() 현재 날짜/시간 (MySQL 등) SELECT NOW()
DATE_FORMAT() 날짜 포맷 지정 (MySQL) DATE_FORMAT(NOW(), '%Y-%m-%d')
ROUND() 반올림 ROUND(12.345, 2) → 12.35
FLOOR() 내림 FLOOR(4.9) → 4
CEIL() / CEILING() 올림 CEIL(4.1) → 5
MOD() 나머지 MOD(10, 3) → 1
CONCAT() 문자열 합치기 CONCAT('Hi', ' there')
LENGTH() 문자열 길이 LENGTH('hello') → 5
TRIM() 앞뒤 공백 제거 TRIM(' hi ')
CAST() 형 변환 CAST(123 AS CHAR)
 

🔍 요약 비교

분류Oracle 함수 예시일반 SQL 함수 예시
NULL 처리 NVL() COALESCE()
조건 분기 DECODE(), CASE CASE
날짜 SYSDATE, TO_DATE() NOW(), DATE_FORMAT()
문자열 SUBSTR(), INSTR() SUBSTRING(), CONCAT()
형 변환 TO_CHAR(), TO_NUMBER() CAST()
반응형