本文主要講解了在Oralce中如何通過一條SQL實現其他進制到十進制的轉換實例代碼大家可以把它封裝成一個通用函數來進行使用面向其它進制時大家可以根據例子將power的底數改成相應的進制就可以了在下面的示例當中大家將裡面相應的其它進制的數值換成自己的數據就可以使用了
二進制轉換十進制
select sum(data)
from (select substr( rownum ) * power
( length() rownum) data
from dual
connect by rownum <= length())
八進制轉換十進制
select sum(data)
from (select substr( rownum ) * power
( length() rownum) data
from dual
connect by rownum <= length())
十六進制轉換十進制
select sum(data)
from (select (CASE upper(substr(D rownum ))
WHEN A THEN
WHEN B THEN
WHEN C THEN
WHEN D THEN
WHEN E THEN
WHEN F THEN
ELSE substr(D rownum )
END) * power( length(D) rownum) data
from dual
connect by rownum <= length(D))
From:http://tw.wingwit.com/Article/program/Oracle/201311/18237.html