좋아요! Oracle 19c에서 자주 사용하는 내장 함수들을 카테고리별로 예제 중심으로 설명드릴게요. 문서는 MediaWiki 문법으로 작성되었으며, 함수 이름, 간단한 설명, 예제 쿼리, 결과까지 포함했습니다. 아래 형식으로 제공드릴게요:
⸻
Oracle 19c 주요 내장 함수 예제
문자열 함수
함수 | 설명 | 예제 | 결과 |
---|---|---|---|
UPPER | 소문자를 대문자로 변환 | SELECT UPPER('oracle') FROM DUAL; | ORACLE |
LOWER | 대문자를 소문자로 변환 | SELECT LOWER('ORACLE') FROM DUAL; | oracle |
INITCAP | 각 단어의 첫 글자만 대문자로 | SELECT INITCAP('oracle database') FROM DUAL; | Oracle Database |
LENGTH | 문자열 길이 반환 | SELECT LENGTH('Oracle') FROM DUAL; | 6 |
SUBSTR | 문자열 자르기 (시작 위치부터 길이만큼) | SELECT SUBSTR('OracleDatabase', 1, 6) FROM DUAL; | Oracle |
INSTR | 문자열 내 특정 문자의 위치 반환 | SELECT INSTR('OracleDatabase', 'D') FROM DUAL; | 7 |
TRIM | 앞뒤 공백 제거 | SELECT TRIM(' Oracle ') FROM DUAL; | Oracle |
숫자 함수
함수 | 설명 | 예제 | 결과 |
---|---|---|---|
ROUND | 반올림 | SELECT ROUND(123.456, 2) FROM DUAL; | 123.46 |
TRUNC | 소수점 이하 자르기 | SELECT TRUNC(123.456, 2) FROM DUAL; | 123.45 |
MOD | 나머지 반환 | SELECT MOD(10, 3) FROM DUAL; | 1 |
CEIL | 올림 | SELECT CEIL(4.2) FROM DUAL; | 5 |
FLOOR | 내림 | SELECT FLOOR(4.8) FROM DUAL; | 4 |
날짜 함수
함수 | 설명 | 예제 | 결과 |
---|---|---|---|
SYSDATE | 현재 날짜/시간 반환 | SELECT SYSDATE FROM DUAL; | 2025-06-02 (예시) |
ADD_MONTHS | 날짜에 개월 수 더하기 | SELECT ADD_MONTHS(DATE '2025-01-01', 2) FROM DUAL; | 2025-03-01 |
MONTHS_BETWEEN | 날짜 사이의 개월 수 | SELECT MONTHS_BETWEEN(DATE '2025-06-01', DATE '2025-01-01') FROM DUAL; | 5 |
LAST_DAY | 해당 달의 마지막 날 | SELECT LAST_DAY(DATE '2025-02-10') FROM DUAL; | 2025-02-28 |
NEXT_DAY | 다음 특정 요일 찾기 | SELECT NEXT_DAY(DATE '2025-06-01', 'FRIDAY') FROM DUAL; | 2025-06-06 |
변환 함수
함수 | 설명 | 예제 | 결과 |
---|---|---|---|
TO_CHAR | 날짜 → 문자로 변환 | SELECT TO_CHAR(DATE '2025-06-01', 'YYYY/MM/DD') FROM DUAL; | 2025/06/01 |
TO_DATE | 문자 → 날짜로 변환 | SELECT TO_DATE('2025-06-01', 'YYYY-MM-DD') FROM DUAL; | 2025-06-01 |
TO_NUMBER | 문자 → 숫자로 변환 | SELECT TO_NUMBER('12345') FROM DUAL; | 12345 |
NULL 처리 함수
함수 | 설명 | 예제 | 결과 |
---|---|---|---|
NVL | NULL이면 다른 값 반환 | SELECT NVL(NULL, 'Default') FROM DUAL; | Default |
NVL2 | NULL이면 A, 아니면 B 반환 | SELECT NVL2('Hello', 'Y', 'N') FROM DUAL; | Y |
COALESCE | 가장 먼저 NULL이 아닌 값 반환 | SELECT COALESCE(NULL, NULL, 'Hi', 'Hello') FROM DUAL; | Hi |
NULLIF | 두 값이 같으면 NULL, 다르면 첫 번째 값 | SELECT NULLIF(10, 10) FROM DUAL; | (null) |
집계 함수
함수 | 설명 | 예제 | 결과 |
---|---|---|---|
COUNT | 행 수 세기 | SELECT COUNT(*) FROM employees; | 107 (예시) |
SUM | 합계 | SELECT SUM(salary) FROM employees; | 250000 (예시) |
AVG | 평균 | SELECT AVG(salary) FROM employees; | 5000 (예시) |
MAX | 최대값 | SELECT MAX(salary) FROM employees; | 10000 (예시) |
MIN | 최소값 | SELECT MIN(salary) FROM employees; | 3000 (예시) |