DB2엔 DECODE 함수가 없는듯 한데... 같은 역할을 하는 함수가 먼가요?
oracle DECODE 문은 DB2 CASE 문으로 변환할수 있습니다.
DECODE (condition, case1, assign1, case2, assign 2....,default)
위의 문장을 CASE문으로 바꾸면
CASE conditionWHEN case1 THEN assign 1WHEN case2 THEN assign 2....ELSE defaultEND
혹은 다음과 같이 바꿀수 있습니다.CASEWHEN condition THEN assign 1WHEN condition THEN assign 2....ELSE defaultEND
예)오라클:SELECT AVG(DECODE(Grade, 'A', 1,'B', 2,'C', 3,'D', 4,'E', 5))INTO v_Grade FROM StudentsWHERE DEPARTMENT = p_Department AND Course_ID = p_Course_ID;
DB2:SELECT AVG(CASE GRADE WHEN 'A' THEN 1WHEN 'B' THEN 2WHEN 'C' THEN 3WHEN 'D' THEN 4WHEN 'E' THEN 5END) INTO v_GradeFROM StudentsWHERE DEPARTMENT = p_DepartmentAND Course_ID = p_Course_ID;
감사합니다.