Oracle Function
Oracle에서 자주 사용하는 함수를 정리한다.
🧩 NULL 처리 함수
값이 NULL일 때 다른 값으로 대체하고 싶으면 NVL(expr, replacement)를 사용한다.
NVL(name, 0)
NVL2(expr, not_null_value, null_value)는 값이 NULL인지 아닌지에 따라 두 가지 값을 선택할 때 사용한다.
NVL2(comm, 'Y', 'N')
🧭 날짜 변환 함수
문자열을 날짜 형식으로 바꾸고 싶을 때는 TO_DATE를 사용한다.
TO_DATE('20230101', 'YYYYMMDD')
TO_DATE('20230101', 'YYYYMMDD') + 1
TO_DATE('20200324173021', 'YYYYMMDDHH24MISS')
TO_NCHAR는 문자 타입을 유니코드 문자열로 변환할 때 사용한다.
🧱 문자열 처리 함수
문자열의 일부를 다른 문자열로 바꾸고 싶을 때는 REPLACE를 사용한다.
UPDATE mytable SET FILE_PATH = REPLACE(FILE_PATH, '\\', '/')
🧩 조건 분기 함수
DECODE는 간단한 조건 분기에 자주 사용한다.
DECODE(JOB, 'Developer', 1, 'teacher', 2, 0)
CASE WHEN 문이 더 복잡한 조건 분기에는 더 적합하다.
🌲 계층 쿼리
Oracle은 START WITH와 CONNECT BY를 이용해 계층 구조를 조회할 수 있다.
SELECT 컬럼명 FROM 테이블명
START WITH [최상위 조건]
CONNECT BY PRIOR [부모 컬럼] = [자식 컬럼];
예시
SELECT emp_id, emp_name, manager_id
FROM employee
START WITH emp_id = 1
CONNECT BY PRIOR emp_id = manager_id;
🧩 정리
NVL,NVL2는 NULL 처리에 사용한다.TO_DATE는 문자열을 날짜로 바꾼다.REPLACE는 문자열 치환에 사용한다.DECODE는 간단한 조건 분기용이다.START WITH,CONNECT BY는 계층 조회에 사용한다.
댓글남기기