달나라 노트

Redshift : nullif (특정 값일 때 null값을 반환) 본문

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
반응형
Comments