[오라클] 내장함수 UPPER를 프로시저로 구현

비슷한 맥락으로 내장함수 UPPER를 구현한 것으로
입력받은 문자열을 SUBSTR해서 아스키코드 값으로 변경후 아스키코드값에서 값을 더해 UPPER시킨다. 이것 또한 내장함수가 짱이다..

create or replace PROCEDURE UPPER_PROCEDURE
( 
  STR VARCHAR
)
IS
 CTEMP VARCHAR(200);
 CRETURN VARCHAR(200);
BEGIN
    --     97 ~ 122()  (-32)
    FOR i IN 1..LENGTH(STR)
    LOOP
      CTEMP := SUBSTR(STR, I, 1);
      IF ASCII(CTEMP) BETWEEN 97 AND 122 THEN CTEMP := CHR(ASCII(CTEMP) - 32);
      END IF;
      CRETURN := CONCAT(CRETURN, CTEMP);
    END LOOP; 
    dbms_output.put_line(CRETURN);
  
END UPPER_PROCEDURE;
H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now