728x90
반응형
#포스트그레 null 값 처리 하는 방법 COALESCE(), NULLIF()
#COALESCE('대상', result)
-매개변수 2개
-COALESCE 함수는 대상값이 NULL이면 result값을 반환하고 NULL이 아니면 대상값 그대로 반환합니다.
-- NULL입니다.
select COALESCE(NULL, 'NULL입니다.');
-- NULL이 아닙니다.
select COALESCE('NULL이 아닙니다.', 'NULL입니다.');
#COALESCE('대상', result1, result2, ...)
-매개변수 3개이상
-COALESCE 함수는 대상값이 NULL이면 첫번째 결과인 result1값을 반환하고 NULL이 아니면 두번째 결과인 result2값을 반환합니다.
-매개변수가 늘어날 경우 NULL이 아닌 컬럼을 만날때 그 값을 반환합니다.
-- NULL입니다.
select COALESCE(NULL, 'NULL입니다.', 'NULL이 아닙니다.');
-- NULL이 아닙니다1.
select COALESCE('NULL이 아닙니다1.', 'NULL입니다.', 'NULL이 아닙니다2.');
-- NULL이 아닙니다.
select COALESCE(NULL, NULL, 'NULL이 아닙니다.');
-- NULL이 아닙니다.
select COALESCE(NULL, NULL, NULL, 'NULL이 아닙니다.');
#NULLIF('대상1', '대상2')
-NULLIF함수는 대상1의 값과 대상2의 값이 같으면 NULL을 반환하고 다르면 대상1의 값을 반환합니다.
-- NULL
select NULLIF('같음', '같음');
-- 다름
select NULLIF('다름', '다르다');
728x90
반응형
댓글