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 출력 |
'CS > 데이터베이스' 카테고리의 다른 글
[Oracle] 최대값 출력 (MAX) (0) | 2020.09.07 |
---|---|
[Oracle] IF문 SQL구현 (CASE) (0) | 2020.09.06 |
[Oracle] NULL 값 대신 출력 (NVL, NVL2) (0) | 2020.09.04 |
[Oracle] 암시적 형 변환 (0) | 2020.09.04 |
[Oracle] 날짜형으로 데이터 유형 변환 (TO_DATE) (0) | 2020.08.21 |