[MSSQL] 조건문 (CASE WHEN, IF) 함수 사용법 & 예제
- DB/MSSQL
- 2018. 4. 2.
프로그래밍 언어 중에서 조건에 따라 작업방식을 달리 할 수 있는 조건문이라는 것이 있습니다. 대표적인 문법이 IF문과 CASE문인데요. MSSQL에서도 조건절인 CASE문과 IF문을 지원하니 한번 활용해보시는 것도 좋을 것 같습니다.
CASE WHEN
가장 많이 쓰이는 조건문입니다. 조건에 따라 값을 지정해 주는 역할을 합니다.
--CASE사용법-- CASE WHEN 조건절 THEN 참일때 값 ELSE 거짓일때 값 END 컬럼명
--테이블(MY_TABLE)에서 성별(GENDER)이 001이면 여, 그게아니면 남자로 검색-- SELECT DISTINCT GENDER, CASE WHEN GENDER = '001' THEN '여' ELSE '남' END AS 성별 FROM MY_TABLE
다중 CASE WHEN
--테이블(MY_TABLE)에서 성적(SCORE)별 학점을 계산 SELECT *, (CASE WHEN SCORE>= '90' THEN 'A학점' WHEN (SCORE>= '80' AND SCORE < '90') THEN 'B학점' WHEN (SCORE>= '70' AND SCORE < '80') THEN 'C학점' WHEN (SCORE>= '60' AND SCORE < '70') THEN 'D학점' ELSE 'F학점' END) AS '학점' FROM MY_TABLE
IF ELSE
CASE WHEN과 같은 조건문입니다. CASE문과 마찬가지로 조건에 따라 원하는 작업을 수행할 수 있습니다.
--IF 사용법-- IF 조건 참일때 값 ELSE 거짓일때 값 END 컬럼명
--@NUM 이 30일때 30, 40일경우 40이라고 출력, 아닐경우 아니라고 출력-- DECLARE @NUM INT SET @NUM = 40 IF(@NUM = 30) PRINT 'NUM은 30입니다.' ELSE IF(@NUM=40) PRINT 'NUM은 40입니다' ELSE PRINT 'NUM은 30이나 40이 아닙니다.'
'DB > MSSQL' 카테고리의 다른 글
[MSSQL] IN절 사용법 & 예제 (0) | 2018.04.04 |
---|---|
[MSSQL] LIKE절 사용법 & 예제 (0) | 2018.04.03 |
[MSSQL] 공백제거 (LTRIM,RTRIM) 사용법 & 예제 (0) | 2018.04.01 |
[MSSQL] 날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제 (2) | 2018.03.31 |