DECODE 함수
- 주어진 값에 대해 조건을 비교하고 일치하는 경우 특정 값을 반환함
DECODE(expr, search, result, default)
여기서
- expr : 비교할 값
- search : expr이 비교될 값
- result : expr이 search와 일치할 때 반환될 값
- default : expr이 search와 일치하는 것이 없는 경우 반환될 기본값(선택사항)
작동방식
- expr이 search와 일치하면 result를 반환함
- expr이 search와 일치하지 않으면 default 값을 반환함. default 값을 지정하지 않으면 NULL이 반환됨
예로들어,
SELECT name, score,
DECODE(score,
90, 'A',
80, 'B',
70, 'C',
60, 'D',
'F') AS grade
FROM students;
이러한 코드가 있을 때,
score가 90 이상이면 'A', 80 이상이면 'B', 70 이상이면 'C', 60 이상이면 'D', 그 외에는 'F'를 반환한다.
이렇게 하면 DECODE 함수를 사용하여 간단한 조건별 값을 반환할 수 있다.
SELECT name, score,
DECODE(name,
'John', 90,
'Alice', 85,
'Bob', 88,
80) AS adjusted_score
FROM students;
위의 예제에서는 'John'이면 점수가 90으로, 'Alice'이면 85로, 'Bob'이면 88로 설정되고, 그 외의 경우에는 점수가 80으로 설정된다.
'DB > Oracle' 카테고리의 다른 글
복합키와 다중PK의 차이 (0) | 2024.04.04 |
---|---|
VARCHAR와 VARCHAR2의 차이 (0) | 2024.04.04 |
UNION과 UNION ALL의 차이 (0) | 2024.04.03 |
[Oracle] Docker ① (0) | 2023.12.28 |
[Oracle] 변환함수 (0) | 2023.12.20 |