본문 바로가기
728x90

데이터베이스40

[ORACLE] NULLIF() 함수 완전 정복 : 두 값 비교로 NULL 반환하는 방식 1. NULLIF 함수란?NULLIF() 함수는 두 개의 값을 비교하여, 두 값이 같으면 NULL을 반환하고, 그렇지 않으면 첫 번째 값을 반환하는 Oracle SQL 내장 함수입니다. NULL 처리, 나누기 연산 예외 방지, 조건 분기 등에서 자주 사용되며, 간단한 구조임에도 실무에서 매우 유용하게 쓰입니다. 기본 문법은 다음과 같습니다:NULLIF(expr1, expr2)expr1: 비교할 첫 번째 표현식expr2: 두 번째 비교값2. 기본 사용 예제두 값이 동일하면 NULL, 그렇지 않으면 첫 번째 값을 반환합니다.SELECT NULLIF(100, 100) AS result1, -- 결과: NULL NULLIF(100, 200) AS result2 -- 결과: 100FROM DUAL.. 2025. 6. 7.
[ORACLE] NVL() 함수로 NULL 값을 기본 값으로 바꾸는 방법 1. NVL 함수란 무엇인가?Oracle의 NVL() 함수는 NULL 값을 다른 값으로 대체할 수 있도록 해주는 함수입니다. SQL 문에서 NULL 값이 존재할 때 원하는 기본값으로 대체함으로써, 연산 오류 방지와 가독성 향상에 기여합니다. NVL 함수의 기본 문법은 다음과 같습니다:NVL(expr1, expr2)expr1: NULL 여부를 판단할 표현식expr2: expr1이 NULL일 경우 반환할 값2. 기본 사용 예제다음 예제는 직원의 커미션이 NULL일 경우, '0'으로 대체하는 쿼리입니다.SELECT EMPLOYEE_NAME, COMMISSION_PCT, NVL(COMMISSION_PCT, 0) AS COMMISSION_REPLACEDFROM EMPLOYEES;위 쿼리에서는.. 2025. 6. 7.
[ORACLE] NVL2() 함수로 NULL 유무에 따른 조건 처리 쉽게 구현하기 1. NVL2 함수란?Oracle SQL에서 NVL2() 함수는 주어진 표현식이 NULL이 아닌 경우와 NULL인 경우를 구분하여 각각 다른 결과를 반환할 수 있도록 해주는 조건 분기 함수입니다. IF-ELSE와 유사한 형태를 SQL 내에서 간단히 구현할 수 있어 실무에서 매우 유용하게 사용됩니다. 기본 문법은 다음과 같습니다:NVL2(expr1, expr2, expr3)expr1: NULL 여부를 판단할 값expr2: expr1이 NULL이 아닐 경우 반환expr3: expr1이 NULL일 경우 반환2. 기본 사용 예제다음은 직원의 보너스가 있는 경우와 없는 경우를 구분하여 다른 메시지를 출력하는 예제입니다.SELECT EMPLOYEE_NAME, BONUS, NVL2(BONUS, .. 2025. 6. 7.
[ORACLE] ROWIDTOCHAR()로 ROWID를 문자형으로 변환하는 방법 1. ROWID란 무엇인가?Oracle에서 ROWID는 데이터베이스 내 특정 행(row)의 고유한 물리적 주소를 나타냅니다. 이는 테이블 내에서 행을 유일하게 식별할 수 있는 값이며, Oracle 내부적으로는 검색 성능을 높이기 위해 자주 사용됩니다. ROWID는 다음 네 가지 구성 요소로 이뤄집니다:데이터 오브젝트 번호데이터 파일 번호블록 번호행 번호2. ROWIDTOCHAR 함수란?ROWIDTOCHAR 함수는 ROWID 값을 CHAR 데이터 형식으로 변환하는 Oracle 내장 함수입니다. 이 함수는 ROWID 값을 문자열로 표현할 수 있게 하여, 로그 기록이나 디버깅, 외부 시스템 연동 시 유용하게 사용됩니다.ROWIDTOCHAR(rowid)입력값: ROWID반환값: CHAR(18)3. 기본 사용 예.. 2025. 6. 7.
[ORACLE] CHARTOROWID() 함수 완벽 가이드 : 문자형 ROWID를 ROWID로 변환 1. CHARTOROWID 함수란?CHARTOROWID는 Oracle Database에서 문자열(CHAR)로 표현된 ROWID 값을 내부 식별자 형태의 ROWID로 변환해 주는 함수입니다. 주로 문자열로 저장된 ROWID 값을 쿼리에서 사용할 수 있도록 내부 표현 형식으로 변환할 때 사용됩니다.2. 기본 문법CHARTOROWID(char) RETURN ROWID여기서 char는 유효한 ROWID 형식의 문자열이어야 하며, 결과는 Oracle의 ROWID 형식으로 반환됩니다.3. 주요 사용 예제예제 1: 문자열 ROWID를 ROWID로 변환SELECT CHARTOROWID('AAAPr9AAEAAAAFnAAA') AS actual_rowid FROM dual;예제 2: 테이블에 저장된 ROWID 문자열 활용.. 2025. 6. 6.
[ORACLE] NUMTOYMINTERVAL() 사용법과 실전 예제로 배우는 기간 연산 처리 [Oracle] 오라클 NUMTOYMINTERVAL() 함수 완전 가이드1. NUMTOYMINTERVAL() 함수란?Oracle의 NUMTOYMINTERVAL() 함수는 숫자 값을 INTERVAL YEAR TO MONTH 데이터 타입으로 변환합니다. 즉, 숫자로 표현된 연도 또는 개월 수를 INTERVAL 형식으로 바꾸어 날짜 계산에 사용할 수 있도록 도와주는 함수입니다.2. 문법NUMTOYMINTERVAL(n, interval_unit)n: 간격을 의미하는 숫자 값 (예: 1, 2.5)interval_unit: 'YEAR' 또는 'MONTH'3. 기본 사용 예제예제 1: 1년 추가SELECT SYSDATE + NUMTOYMINTERVAL(1, 'YEAR') AS result_date FROM dual;.. 2025. 6. 6.
728x90