반응형
1. CASE WHEN이란?
조건에 따라 서로 다른 값을 반환할 수 있는 CASE 표현식으로 프로그래밍 언어에서 IF 문, SWITCH 문과 비슷한 성격
SELECT, WHERE, ORDER BY에서 CASE문을 활용할 수 있다.
참고: https://goldswan.tistory.com/14
2. CASE WHEN사용법
CASE WHEN [조건식 1 ]THEN '반환값1'
WHEN [조건식 2] THEN '반환값2'
,,,
ELSE '조건에 만족하지 않을 경우 반환값'
END
조건식에는 비교연산자, NULL연산자들을 사용할 수 있다.
또한 논리연산자를 사용하여 여러 개의 조건을 부여할 수 있다.
3 . CASE WHEN사용 예시
1. SEND_MAIL_YN 의 값에 따라 텍스트 값 반환
아래의 테이블에서 SEND_MAIL_YN의 값에 따라
Y 이면 => "메일 수신"
Y 가 아니면 => "메일 거부"
코드
SELECT SEQ_NO, CONTRACT_NAME, CONTRACT_CONTENTS,
CASE WHEN SEND_MAIL_YN = 'Y' THEN '메일 수신'
ELSE '메일 거부' END AS '메일 수신 여부'
FROM CONTRACT_LIST
결과
2. DEPT_CD 의 값에 따라 텍스트 값 반환
부서코드의 값에 따라 부서명 넣는 법
코드
SELECT SEQ_NO, CONTRACT_NAME, CONTRACT_CONTENTS,
CASE WHEN DEPT_CD = '111' THEN '인사팀'
WHEN DEPT_CD = '222' THEN '회계팀'
ELSE '영업팀' END AS '부서명'
FROM CONTRACT_LIST
결과
3. UPDATE에서 CASE WHEN 사용하기
부서코드의 값을 부서명값으로 아예
조건에 따라 컬럼값을 UPDATE 하고 싶을 때
코드
UPDATE CONTRACT_LIST
SET DEPT_CD = ( CASE WHEN DEPT_CD = '111' THEN '인사팀'
WHEN DEPT_CD = '222' THEN '회계팀'
ELSE '영업팀' END
)
결과
볼 품 없지만 예제에 사용한 테이블
반응형
'MS SQL' 카테고리의 다른 글
MS SQL_CURSOR 연산자 사용법 (0) | 2022.09.08 |
---|---|
MS SQL_LIKE 연산자 사용법 (0) | 2022.08.17 |
MS SQL_PIVOT 사용법 (0) | 2022.08.03 |
MS SQL_PARTION사용법 (0) | 2022.08.02 |
MS SQL_사용자 정의 함수 사용법 (0) | 2022.08.02 |