ORACLE中用一条SQL实现其它进制到十进制的转换
2009-01-06 13:10:20 来源:WEB开发网注:
对其它进制可以根据例子将power的底数改成相应的进制就可以了。
本文只是一个例子,大家可以把它封装成一个通用函数进行实用。
大家在试的时候将里面相应的其它进制的数值换成自己的数据就可以了(有多处)。
-----二进制转换十进制-----------------
select sum(data1)
from (select substr("1101", rownum, 1) * power(2, length("1101") - rownum) data1
from dual
connect by rownum <= length("1101"))
-----八进制转换十进制-----------------
select sum(data1)
from (select substr("1101", rownum, 1) * power(8, length("1101") - rownum) data1
from dual
connect by rownum <= length("1101"))
-----十六进制转换十进制-----------------
select sum(data1)
from (select (CASE upper(substr("2D", rownum, 1))
WHEN "A" THEN "10"
WHEN "B" THEN "11"
WHEN "C" THEN "12"
WHEN "D" THEN "13"
WHEN "E" THEN "14"
WHEN "F" THEN "15"
ELSE substr("2D", rownum, 1)
END) * power(16, length("2D") - rownum) data1
from dual
connect by rownum <= length("2D"))
- ››oracle 恢复误删除的表和误更新的表
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
赞助商链接