본문 바로가기
728x90

Database/Oracle581

[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] RAWTOHEX() 함수 실무 활용 법 : 해시 값, 토큰 비교에 강력한 이유 1. RAWTOHEX() 함수란?RAWTOHEX() 함수는 Oracle에서 RAW 데이터를 16진수 문자열(HEX)로 변환하는 데 사용됩니다. 이 함수는 BLOB, 암호화된 데이터, 해시값 등 사람이 읽을 수 없는 RAW 데이터를 시각화하거나 디버깅할 때 매우 유용합니다.2. 문법RAWTOHEX(raw_input)raw_input: RAW 타입의 입력 값반환값: VARCHAR2 타입의 16진수 문자열3. 기본 사용 예제예제 1: RAW 값 변환SELECT RAWTOHEX(UTL_RAW.CAST_TO_RAW('Hello')) AS hex_output FROM dual;결과: 48656 C6 C6 F예제 2: 테이블 칼럼의 RAW 데이터 출력SELECT id, RAWTOHEX(binary_col) AS he.. 2025. 6. 6.
728x90