[Oracle] NULLIF 함수 사용법 (특정 값을 NULL로 변환)
- 데이터베이스/오라클
- 2022. 2. 25.
오라클에서 특정 값인 경우 NULL로 치환하기 위해서는 NULLIF 함수를 사용하면 된다. NVL 함수와 조금 반대되는 함수라고 생각하면 된다. NVL 함수는 NULL인 경우 특정 값으로 치환을 하고, NULLIF 함수는 특정 값인 경우 NULL로 치환을 한다. NULLIF 함수는 두 개의 칼럼 값이 동일한지 판단할 때도 사용할 수 있다.
칼럼의 값을 특정 문자열과 비교
WITH mydb AS (
SELECT 1 AS item_id, 'ORACLE' AS item_desc FROM dual UNION ALL
SELECT 2 AS item_id, 'SQL' AS item_desc FROM dual
)
SELECT item_id
, item_desc
, NULLIF(item_desc, 'ORACLE') AS new_item_desc
FROM mydb
item_desc 칼럼의 값이 'ORACLE'인 경우 NULL을 반환하고 아닌 경우 item_desc 칼럼의 값을 그대로 반환한다.
두 개의 칼럼 값을 비교
WITH mydb AS (
SELECT 'ORACLE' AS item_desc, 'ORACLE' AS item_desc2 FROM dual UNION ALL
SELECT 'MySQL' AS item_desc, 'ORACLE' AS item_desc FROM dual
)
SELECT item_desc
, item_desc2
, NULLIF(item_desc, item_desc2) AS new_item_desc
FROM mydb
item_desc 칼럼과 item_desc2 칼럼의 값이 같으면 NULL을 반환하고 다르면 item_desc 칼럼의 값을 반환한다.