달나라 노트

Hive : nvl, coalesce (여러 값 중 null이 아닌 값 추출하기) 본문

SQL/Apache Hive

Hive : nvl, coalesce (여러 값 중 null이 아닌 값 추출하기)

CosmosProject 2020. 12. 17. 01:14
728x90
반응형

 

 

nvl(value1, value2)

coalesce(value1, value2, value3, ...)

nvl과 coalesce는 모두 첫 번째 value가 null일 때 그 다음 value를 반환합니다.

 

nvl의 경우 value1이 null이면 value2를 반환합니다.

 

coalesce의 경우

1. value1이 null이면 value2를 반환합니다.

2. value2도 null이면(=value1과 value2 모두 null이면) value 3를 반환합니다.

3. value3도 null이면(=value1, value2, value3 모두 null이면) value 4를 반환합니다.

...

 

nvl과 coalesce는 기능이 비슷하지만 nvl은 2개의 인자만 넣을 수 있는 반면 coalesce는 여러 개의 인자를 넣을 수 있다는 차이가 있습니다.

 

 

select nvl(null, 10);
-> 결과 : 10


select coalesce(null, 'abc');
-> 결과 : abc


select coalesce(null, null, 123);
-> 결과 : 123

 

 

 

 

 

 

728x90
반응형
Comments