본문 바로가기
728x90

oracle492

[ORACLE] SYS_CONTEXT() 함수로 사용자, 세션, IP 정보 확인하는 방법 1. SYS_CONTEXT 함수란?SYS_CONTEXT 함수는 Oracle에서 사용자의 세션, 네트워크, 인증 등의 환경 정보를 동적으로 조회할 수 있도록 해주는 내장 함수입니다. 주로 보안 감사, 사용자 추적, 커스터마이징 된 트리거나 정책 기반 제어 로직을 구현할 때 활용됩니다.기본 문법:SYS_CONTEXT('namespace', 'parameter' [, length])namespace: 컨텍스트 영역 이름 (주로 'USERENV')parameter: 조회할 항목명 (예: 'SESSION_USER')length: 반환 문자열의 최대 길이 (생략 가능)2. USERENV 콘텍스트의 주요 파라미터가장 널리 사용되는 namespace는 'USERENV'입니다. 다음은 주요 파라미터 목록입니다.파라미터설.. 2025. 6. 7.
[ORACLE] CASE() 함수 사용법과 DECODE, IF-ELSE와의 차이점 비교 1. CASE 함수란?Oracle의 CASE 함수는 SQL 문 내에서 조건에 따라 서로 다른 결과를 반환할 수 있도록 하는 조건 분기 함수입니다. 다양한 조건 처리와 복잡한 로직을 명확하게 표현할 수 있어 보고서 작성, 데이터 분석, 비즈니스 로직 구현 등 실무에서 매우 유용하게 활용됩니다. CASE 함수는 표준 SQL 문법을 따르며, DECODE 함수보다 더 유연한 분기 처리를 지원합니다.2. CASE 함수의 문법CASE 함수에는 두 가지 문법 형식이 있습니다.2-1. 단순 CASE 표현식CASE expr WHEN value1 THEN result1 WHEN value2 THEN result2 [...] ELSE default_resultEND2-2. 검색 CASE 표현식CASE WHEN co.. 2025. 6. 7.
[ORACLE] DECODE() 함수로 IF-ELSE 로직을 SQL에서 구현하는 방법 1. DECODE 함수란?DECODE 함수는 Oracle에서 조건에 따라 다른 값을 반환하는 조건 분기 함수입니다. IF-ELSE 또는 CASE 문과 유사하게 작동하지만, 간결한 문법 덕분에 간단한 분기 처리에 매우 유용합니다. 기본 문법은 다음과 같습니다:DECODE(expr, search1, result1 [, search2, result2, ...] [, default])expr: 비교할 대상 값search: 비교값result: 일치할 경우 반환할 결과default (선택): 일치하는 값이 없을 경우 반환2. 기본 사용 예제직원의 직급을 코드로 관리하면서, 해당 코드를 직급명으로 변환하는 간단한 예제입니다.SELECT EMP_ID, JOB_GRADE, DECODE(JOB_GRA.. 2025. 6. 7.
[ORACLE] COALESCE() 함수로 복잡한 CASE 문 없이 NULL 처리하기 1. COALESCE 함수란?Oracle의 COALESCE 함수는 여러 인자 중 가장 첫 번째로 NULL이 아닌 값을 반환하는 SQL 표준 함수입니다. 데이터 정제, NULL 방지 처리, 보고서 출력 등에 매우 유용하며, NVL보다 더 유연한 다중 인자 처리가 가능하다는 장점이 있습니다.기본 문법은 다음과 같습니다:COALESCE(expr1, expr2, ..., exprN)expr1 ~ exprN: 평가 대상 값 목록NULL이 아닌 첫 번째 값을 반환모든 값이 NULL일 경우 NULL 반환2. 기본 사용 예제아래 예제는 3개의 표현식 중 첫 번째 NULL이 아닌 값을 반환하는 간단한 사례입니다.SELECT COALESCE(NULL, NULL, '대체값') AS result FROM DUAL;결과:RES.. 2025. 6. 7.
[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.
728x90