함수 | 설명 | 예시 |
---|---|---|
INITCAP() |
첫 글자만 대문자로 변환 | SELECT name, INITCAP(position) AS pos_title FROM professor; |
LOWER() |
모두 소문자 | SELECT LOWER(email) AS email_lower FROM professor; |
UPPER() |
모두 대문자 | SELECT UPPER(id) AS upper_id FROM professor; |
LENGTH() / LENGTHB() |
문자열 길이 / 바이트 | '한글' → 2 / 4 |
CONCAT() |
문자열 연결 (` | |
SUBSTR() / SUBSTRB() |
문자열 일부 추출 | SUBSTR('ABC',1,2) → 'AB' |
INSTR() / INSTRB() |
특정 문자의 위치 반환 | INSTR('A#B#','B') → 3 |
LPAD() / RPAD() |
좌/우측 문자 채움 | LPAD('AB',4,'*') → '**AB' |
LTRIM() / RTRIM() |
좌/우측 문자 제거 | LTRIM('*AB','*') → 'AB' |
REPLACE() |
문자열 치환 | REPLACE('AB','A','E') → 'EB' |
함수 | 설명 | 예시 |
---|---|---|
ROUND() |
반올림 | ROUND(12.345,2) → 12.35 |
TRUNC() |
버림 | TRUNC(12.345,2) → 12.34 |
MOD() |
나머지 구하기 | MOD(12,10) → 2 |
CEIL() / FLOOR() |
올림 / 내림 | CEIL(12.3) → 13 , FLOOR(12.3) → 12 |
POWER() |
거듭제곱 | POWER(3,2) → 9 |
함수 | 설명 |
---|---|
SYSDATE |
현재 날짜 및 시간 반환 |
MONTHS_BETWEEN(d1, d2) |
두 날짜 사이의 개월 수 |
ADD_MONTHS(d, n) |
날짜에 개월 수 더하기 |
NEXT_DAY(d, '요일') |
다음 요일 반환 |
LAST_DAY(d) |
해당 월의 마지막 날짜 반환 |
ROUND(d) / TRUNC(d) |
날짜 반올림 / 버림 |
함수 | 설명 |
---|---|
TO_CHAR() |
날짜/숫자 → 문자 |
TO_NUMBER() |
문자 → 숫자 |
TO_DATE() |
문자 → 날짜 |
예시: TO_CHAR(SYSDATE, 'YYYY-MM-DD') → '2025-04-21'
함수 | 설명 | 예시 |
---|---|---|
NVL(expr1, expr2) |
NULL 값을 대체 | NVL(comm, 0) |
NVL2(expr1, expr2, expr3) |
NULL 여부에 따라 값 선택 | NVL2(comm, sal+comm, sal*0) |
DECODE(expr, val1, res1, ..., default) 매우 중요함!!!!!! |
조건 분기문 | DECODE(deptno, 101, '컴공', 102, '멀티', '기타') |
CASE WHEN ... THEN ... ELSE ... END |
가독성 좋은 조건문 사용 |