Try this:
CREATE FUNCTION to_dec
( p_str in varchar2,
p_from_base in number default 16 ) return number
AS
l_num number default 0;
-- l_hex varchar2(16) default '0123456789ABCDEF';
l_base varchar2(16) default '0123456789ABCDEF....YZ'; -- fill
in the blanks
begin
for i in 1 .. length(p_str) loop
l_num := l_num * p_from_base +
instr(l_base,upper(substr(p_str,i,1)))-1;
end loop;
return l_num;
end
/
HTH, don't forget to fill in l_base local variable. Obviosly, in your case
"p_from_base" parameter will be 36.
Igor Neyman, OCP DBA
[EMAIL PROTECTED]
----- Original Message -----
To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]>
Sent: Tuesday, January 28, 2003 10:45 AM
> For very obscure reasons (read: one of those developer decisions that you
> want to use a time-machine to go back and change), we're storing some
> information in base-36 (0,1,2,3...8,9,A,B,C,...,Y,Z) in a varchar field.
> And you thought hexadecimal was fun :-)
>
> Now some bright spark would like me to build some PL/SQL to do base
> conversion - in the first instance from base 36 to base 10 (i.e decimal).
> Has anyone done something similar in the past ... that I could borrow or
> co-opt? As you've guessed, the deadline is yesterday :-)
>
> Ciao
> Fuzzy
> :-)
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
> --
> Author: Grant Allen
> INET: [EMAIL PROTECTED]
>
> Fat City Network Services -- 858-538-5051 http://www.fatcity.com
> San Diego, California -- Mailing list and web hosting services
> ---------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from). You may
> also send the HELP command for other information (like subscribing).
>
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Igor Neyman
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).