首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 开发技术 >> 正文

用SQL实现其他进制到十进制的转换

  本文主要讲解了在Oralce中如何通过一条SQL实现其他进制到十进制的转换实例代码,大家可以把它封装成一个通用函数来进行使用,面向其它进制时大家可以根据例子将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'))

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航