DECODE 함수에서 NULL

2024. 4. 19. 16:44DBMS/SQLQuery

반응형

DECODE 함수에서 NULL 사용을 주의해야 한다.

 

 DECODE 함수는 JOB_ID가 'AD_PRES'인 경우에는 NULL을 반환하고, 그렇지 않은 경우에는 해당 직원의 SALARY를 반환한다. 이때 'AD_PRES' 직업을 가진 직원의 SALARY는 NULL로 처리되며 'AD_PRES' 직업을 가진 직원의 SALARY 값을 무시하고 나머지 직원들의 SALARY 중 최대 값을 찾게 된다.

 

SELECT MAX(DECODE(JOB_ID, 'AD_PRES', NULL, SALARY)) AS MAX_SAL FROM HR.EMPLOYEES;


SELECT MAX(
    CASE 
        WHEN JOB_ID = 'AD_PRES' THEN NULL 
        ELSE SALARY 
    END) AS MAX_SAL
FROM HR.EMPLOYEES;

반응형

'DBMS > SQLQuery' 카테고리의 다른 글

NVL, COALESCE, NULLIF  (0) 2024.05.20
나눗셈 몫  (0) 2024.05.08
sql 절 우선순위  (0) 2024.04.13
NTILE  (1) 2024.03.08
CUME_DIST  (0) 2024.03.08