coalesce,nullif

뚱땅·2023년 8월 1일

.

coalesce

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값 일 것이기 때문에, 이렇게 해줄 수 있음.

nullif

-- 같으면 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-> 형변환)

profile
Hi!i!i!i!i!

1개의 댓글

comment-user-thumbnail
2023년 8월 1일

정보 감사합니다.

답글 달기