반응형
오라클 decode 부등호
oracle decode 부등호
- DECODE 함수는 부등호를 직접 사용하여 비교할 수 없습니다. DECODE 함수는 특정 값과의 일치 여부만을 판단하도록 설계되었기 때문입니다. 즉, > (크다), < (작다), >= (크거나 같다), <= (작거나 같다) 등의 부등호를 사용할 수 없습니다.
부등호를 사용해야 한다면
- DECODE 함수 대신 CASE WHEN 문을 사용하면 부등호를 포함한 다양한 조건을 표현할 수 있습니다
CASE WHEN 문 예시
SELECT
번호,
점수,
CASE
WHEN 점수 >= 90 THEN '수'
WHEN 점수 >= 80 THEN '우'
WHEN 점수 >= 70 THEN '미'
WHEN 점수 >= 60 THEN '양'
ELSE '가'
END AS 등급
FROM
과목점수;
- 위 쿼리에서는 학교 점수 수, 우, 미, 양, 가로 분류합니다.
기능 | DECODE | CASE WHEN |
간단한 값 비교 | 가능 | 가능 |
부등호 비교 | 불가능 | 가능 |
복잡한 조건 | 불가능 | 가능 |
가독성 | 상대적으로 떨어짐 | 상대적으로 좋음 |
유연성 | 낮음 | 높음 |
반응형
'db > oracle' 카테고리의 다른 글
오라클 DECODE 함수와 NULL 값 처리 (0) | 2025.01.23 |
---|---|
oracle case when (0) | 2025.01.23 |
오라클 nvl (0) | 2025.01.22 |
오라클 decode 다중조건 (0) | 2025.01.21 |
Oracle DECODE 함수 (0) | 2025.01.21 |