.
select coalesce (1,2,3,4); --1
select coalesce (null,2,3,4); --2
select coalesce (null, null, 3, 4); --3
null값 제외한 맨 첫 번째 요소를 출력
사용 예시
select id, name, coalesce (score,0) score, coalesce (grade,'F') grade
from student_score;
score이 null이면 0점, grade가 null이면 F, 만약 시험을 보지 않은 친구가 있다면 null값 일 것이기 때문에, 이렇게 해줄 수 있음.
-- 같으면 null
select nullif(1,1);
-- 다르면 앞에꺼 출력
select nullif(1,2);
사용 예시
select coalesce ((12/nullif(\\값\\,0))::char,'나눌 수 없습니다.');
나눗셈할때, 나누는 수에 0이 들어가면 에러가 발생하므로,
nullif(\값\,0) <- 여기 값에 0이 들어간다면, null을 반환.
따라서 (12/nullif(\값\,0)): <- null이 됨.
coalesce ('null','나눌 수 없습니다.') <- 앞에가 null이므로 '나눌 수 없습니다'가 출력됨.
(::char-> 형변환)
정보 감사합니다.