SQL/Redshift
Redshift : nullif (특정 값일 때 null값을 반환)
CosmosProject
2020. 12. 17. 02:16
728x90
반응형
nullif(value1, value2)
nullif 함수는
value1과 value2가 동일하면 null을 반환하며
value1과 value2가 다르면 value1을 반환합니다.
select nullif(1, 1);
-> 결과 : null
select nullif(1, 2);
-> 결과 : 1
select nullif('abc', 'abc');
-> 결과 : null
select nullif('a', 'abc');
-> 결과 : a
nullif는 0으로 나누기 에러를 해결하는데 사용할 수 있습니다.
select 10 / 0;
위처럼 0으로 숫자를 나누게 되면 에러가 발생합니다.
select 10 / nullif(0, 0);
-> 결과 : null
그러나 위처럼 분모에 nullif를 이용해 해당 값이 0과 동일하면 null을 반환시키도록하여 0으로 나누기가 발생하는 경우 null값을 결과로 반환하게 할 수 있습니다.
(숫자 / null 의 결과는 null이기 때문.)
728x90
반응형