티스토리 뷰

1. 목적

특정 바이트로 한정되는 62진수 함수 생성필요


2. 소스

create or replace FUNCTION F_62_REVERSE(i_userno number) RETURN varchar2 IS

l_num   number default i_userno;

l_62    varchar2(62) default '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

l_str   varchar2(10) default NULL;

BEGIN

        if ( trunc(i_userno) <> i_userno OR i_userno < 0 ) then

                raise PROGRAM_ERROR;

        end if;


        loop

                l_str := l_str||substr( l_62, mod(l_num,62)+1, 1 ) ;

                l_num := trunc( l_num/62 );

                exit when ( l_num = 0 );

        end loop;

   RETURN rpad(l_str,7,'0');

END F_62_REVERSE;


댓글
댓글쓰기 폼