Base 36 to Base 10 conversion using SQL only.

Posted by EvilTeach on Stack Overflow See other posts from Stack Overflow or by EvilTeach
Published on 2010-04-02T19:17:07Z Indexed on 2010/04/02 19:23 UTC
Read the original article Hit count: 796

Filed under:
|
|

A situation has arisen where I need to perform a base 36 to base 10 conversion, in the context of a SQL statement. There doesn't appear to be anything built into Oracle 9, or Oracle 10 to address this sort of thing. My Google-Fu, and AskTom suggest creating a pl/sql function to deal with the task. That is not an option for me at this point. I am looking for suggestions on an approach to take that might help me solve this issue.

To put this into a visual form...

WITH
Base36Values AS
(
    SELECT '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' myBase36 FROM DUAL
),
TestValues AS
(
    SELECT '01Z' BASE36_VALUE,
            71   BASE10_VALUE FROM DUAL
)
SELECT *
FROM Base36Values,
     TestValues

I am looking for something to calculate the value 71, based on the input 01Z.

As a bribe, each useful answer gets a free upvote.

Thanks

Evil.

© Stack Overflow or respective owner

Related posts about Oracle

Related posts about sql