본문 바로가기
Database/MySQL

[Programming][MySQL] IF/ CASE 조건 함수(Feat. 카카오 주가 데이터)

by LydiaRyu 2021. 7. 26.
반응형

 

  • IF
SELECT date, fluctuation,
	IF(fluctuation LIKE '\-%', '하락', '상승') AS '구분'
FROM kakao;

 

IF는 조건을 만드는 함수이다. IF(조건식, 참, 거짓)의 형태로 작성한다. 변동률(fluctuation)에 따라 상승한 주(week)인지 하락한 주(week)인지 구분하고자 -가 붙은 경우 '하락', 거짓일 경우 '상승'으로 조건을 설정했다. 

 

결과적으로, 마이너스(-) 일 때 하락과 그렇지 않을 때 '상승'으로 잘 구분되고 있다. 

 

  • CASE
SELECT month,
	CASE WHEN month IN ('January', 'February', 'March') THEN '1 분기'
	WHEN month IN ('April', 'May', 'June') THEN '2 분기'
	WHEN month IN ('July', 'August', 'September') THEN '3 분기'
	ELSE '4 분기'
	END AS '분기 구분'
FROM kakao;

 

CASE여러 개의 조건을 만들 때 사용하는 함수이다. CASE~END로 끝나는 형태의 문법을 가지고 있으며, WHEN 조건 THEN 결과물의 형태로 작성한다. 모든 조건을 만든 후 마지막 남은 조건은 ELSE 뒤에 붙여 준다.

 

영어로 적혀있던 month 열(Column)을 분기별 데이터로 구분하였다. 1-3월은 1분기, 4-6월은 2분기, 7-9월은 3분기로 작성했으며, 마지막 4분기는 ELSE로 작성했다. 결과물을 보니 각각 조건에 맞게 결과 값들이 산출되었다.

728x90

댓글