728x90
반응형
조건함수 (DECODE, CASE)
DECODE : 조건이 반드시 일치하는 경우에 사용되는 함수 (오라클 전용)
DECODE(컬럼, 비교값1, 결과값1, 비교값2, 결과값2,... 비교값N, 결과값N, 기본 결과값)
==> 컬림이 비교값N과 일치하면 결과값N을 반환하고,
모두 일치하지 않으면 기본적으로 마지막의 결과값을 반환해라
SELECT last_name,salary,
DECODE(salary,2000, salary*0.3, 1000, salary*0.2, salary)
FROM employees;
CASE : 조건이 꼭 일치 안해도 범위/비교가 가능한 경우에 사용 (오라클 아니어도 사용 가능)
1) 동등의 경우
CASE 컬럼 WHEN 비교값1 THEN 결과값1
WHEN 비교값1 THEN 결과값1
WHEN 비교값1 THEN 결과값1
ELSE 결과값
END
2) 비교의 경우 (비교연산자, 논리 연산자 다 사용가능함)
CASE WHEN 컬럼 > 비교값1 THEN 결과값1
WHEN 컬럼 > 비교값2 THEN 결과값1
WHEN 컬럼 > 비교값3 THEN 결과값1
ELSE 결과값
END
WHEN apple>2000 and length(name) = 3
728x90
반응형
'SQL' 카테고리의 다른 글
SQL Subquery 서브쿼리 사용하기 (1) | 2022.09.13 |
---|---|
[Oracle] Join (Inner, Outer, ANSI Join) (1) | 2022.09.13 |
[Oracle] SQL 주민등록번호로 나이 계산하기 (0) | 2022.09.08 |
[Oracle] SQL 그룹 함수 (Group By, Having) (0) | 2022.09.08 |
[Oracle] SQL BASICS (Phrase, 날짜, 변환 함수) (0) | 2022.09.07 |
댓글