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 함수는 여러 개의 인수를 지정할 수 있다.
주어진 인수 가운데 NULL이 아닌 값에 대해서는 가장 먼저 지정된 인수의 값을 반환한다.
숫자로 이루어진 코드를 알아보기 더 쉽게 문자열로 반환하고 싶은 경우 CASE 문을 많이 사용한다.
문자화하는 것을 '디코드'라 부르고 반대로 수치화하는 것을 '인코드'라 부른다
WHEN a=1 THEN '남자'
WHEN a=2 THEN '여자'
ELSE를 생략하면 ELSE NULL이 되는 것에 주의한다
CASE 문의 ELSE는 생략하지 않는 편이 낫다!
WHEN에서는 '='으로 비교하는데 NULL은 비교가 불가능하다
NULL값을 판정하고 싶은 댸는 IS NULL을 사용해서 비교한다