[PostgreSQL] Case when then else end = Decode(Oracle)

gayoung·2024년 2월 5일

DB

목록 보기
10/16

Oracle의 decode가 PostgreSQL에서는 case when the else end이다.

구문

CASE 조건 WHEN 결과1 THEN 값1
WHEN 결과2 THEN 값2
...
ELSE 값n
END "컬럼명"

  • 프로그래밍 언어에서의 if 문과 비슷

예시

SELECT
CASE WHEN score > 90 THEN 
    CASE WHEN score >= 95 THEN 'A+'
      ELSE 'A'
    END
    WHEN score > 70 THEN
      CASE WHEN score >= 80 THEN 'B+'
      ELSE 'B'
    END
    WHEN score > 50 THEN
      CASE WHEN score >= 60 THEN 'C+'
      ELSE 'C'
    END
    WHEN score > 30 THEN 'D'
    ELSE 'F'
END AS code_score
FROM score_table

0개의 댓글