SQL 도전기 - 15

김치전사·2022년 6월 29일
0

SQL 도전기

목록 보기
15/36

오늘은 CASE 문으로 데이터 변환하는 법에 대해 공부한다

CASE 문
CASE WHEN 조건식1 THEN 식1
[WHEN 조건식2 THEN 식2 ...]
[ELSE 식3]
END

RDBMS에서는 사용자가 함수를 작성할 수 있다.
WHEN절에서는 참과 거짓을 반환하는 조건식을 기술한다
해당 조건을 만족하여 참이 되는 경우에 THEN절에 기술한 식이 처리된다
WHEN 절의 조건식을 차례로 평가해 나가다가 가장 먼저 조건을 만족한 WHEN 절과 대응하는 THEN 절 식의 처리결과를 CASE 문의 결괏값으로 반환한다

NULL인 경우 0을 NULL이 아닌 경우 ELSE 절의 a를 반환한다

COALESCE 함수


COALESCE 함수는 여러 개의 인수를 지정할 수 있다.
주어진 인수 가운데 NULL이 아닌 값에 대해서는 가장 먼저 지정된 인수의 값을 반환한다.

또 하나의 CASE 문

숫자로 이루어진 코드를 알아보기 더 쉽게 문자열로 반환하고 싶은 경우 CASE 문을 많이 사용한다.
문자화하는 것을 '디코드'라 부르고 반대로 수치화하는 것을 '인코드'라 부른다

WHEN a=1 THEN '남자'
WHEN a=2 THEN '여자'



ELSE를 생략하면 ELSE NULL이 되는 것에 주의한다

CASE 문의 ELSE는 생략하지 않는 편이 낫다!

WHEN에 NULL 지정하기

WHEN에서는 '='으로 비교하는데 NULL은 비교가 불가능하다
NULL값을 판정하고 싶은 댸는 IS NULL을 사용해서 비교한다

profile
개인공부 블로그입니다. 상업적 용도 X

0개의 댓글