본문 바로가기

db/oracle

오라클 decode 부등호

반응형

오라클 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