CS/데이터베이스
[Oracle] IF문 SQL구현 (DECODE)
김크롱
2020. 9. 6. 19:27
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 출력 |