본문 바로가기
CS/데이터베이스

[Oracle] IF문 SQL구현 (DECODE)

by 김크롱 2020. 9. 6.

IF문 SQL 구현 (DECODE)

: SQL로 IF문 구현

- 등호(=) 비교 가능

 

IF - ELSE IF - ELSE

사용 예시

- ELSE에 해당하는 0은 default 

SELECT column1, column2, DECODE(column2, 1,5,2,10,0) as nickname
	FROM tablename;

: column2가 1이면 5, column2가 2면 10, 아니면 0을 nickname에 출력

 

IF문 표현

IF문 내용
IF column2 = 1 THEN 5 column2가 1이면 5 출력
ELSE IF column2 = 2 THEN 10 column2가 2면 10 출력
ELSE 0 위 모든 조건에 해당하지 않으면 0 출력

 

 

홀짝 예시

- default 값 생략

SELECT column1, mod(column1,2), DECODE(mod(column2,2),0,'짝수', 1, '홀수') as nickname
	FROM tablename;

: mod(column1,2)열이 0이면 짝수, 1이면 홀수를 nickname에 출력

 

IF문 표현

IF문 설명
IF mod(column1,2) = 0 THEN '짝수' mod(column1,2)가 0이면 '짝수' 출력
ELSE IF mod(column1,2) = 1 THEN '홀수' mod(column1,2)가 1이면 '홀수' 출력
ELSE 0 위 모든 조건에 해당하지 않으면 0 출력

 

 

IF - ELSE

사용 예시

SELECT column1, column2, DECODE(column2, 'KOREA', 10000, 1000) as nickname
	FROM tablename;

: column2가 'KOREA'이면 10000, 아니면 1000을 nickname에 출력

 

IF문 표현

IF문 내용
IF column2 = 'KOREA' THEN 10000 column2가 'KOREA'이면 10000 출력
ELSE 1000 아니면 1000 출력