当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > 数据库 > 正文 |
|
|||
用一条SQL实现其它进制到十进制的转换 | |||
2008-5-16 12:01:36 文/Humphrey 出处:赛迪网 | |||
问:怎样实现ORACLE中用一条SQL实现其它进制到十进制的转换? 答:具体示例如下: -----二进制转换十进制----------------- 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')) 注释: 对其它进制可以根据例子将power的底数改成相应的进制就可以了。
|
|||
关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 | |
Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号 |