sql의 CASE 함수는 특정 값을 원하는 방식으로 변환해서 표현하게 해준다.
이 CASE 함수에는 크게 2가지가 있는데 이는 단순 CASE 함수와 검색 CASE 함수이다.
CASE 문 바로 뒤에 컬럼명을 쓰고 그 컬럼의 값과 같은지 비교하는 CASE 함수
CASE 컬럼 이름
WHEN 값 THEN 값
WHEN 값 THEN 값
WHEN 값 THEN 값
ELSE 값
END
# 예시
SELECT email,
CASE age
WHEN 22 THEN '스물 두 살'
WHEN 32 THEN '서른 두 살'
ELSE age
END as "나이"
FROM main_database.member;
결과가 TRUE 인 조건을 만나게 되면 거기에 있는 THEN 뒤의 값을 돌려주고, CASE 함수는 종료된다.
CASE
WHEN 조건1 THEN 값
WHEN 조건2 THEN 값
WHEN 조건3 THEN 값
ELSE 값
END
# 예시
SELECT email,
CASE
WHEN age >= 20 AND age < 30 THEN '이십 대'
WHEN age BETWEEN 30 AND 39 THEN '삼십 대'
ELSE "기타"
END as "나이 대"
FROM main_database.member;