title: Base 36 to Base 10 conversion using SQL only
body: <p>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.  <strong>I am looking for suggestions on an approach to take that might help me solve this issue.</strong></p>
  
  <p>To put this into a visual form...</p>
  
  <pre><code>WITH
  Base36Values AS
  (
      SELECT '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' myBase36 FROM DUAL
  ),
  TestValues AS
  (
      SELECT '01Z' BASE36_VALUE,
              71   BASE10_VALUE FROM DUAL
  )
  SELECT *
  FROM Base36Values,
       TestValues
  </code></pre>
  
  <p><strong>I am looking for something to calculate the value 71, based on the input 01Z.</strong>
  EDIT - that is backwards... given 01Z translate it to 71.</p>
  
  <p>As a bribe, each useful answer gets a free upvote.</p>
  
  <p>Thanks</p>
  
  <p>Evil.</p>