RSS
热门关键字:  linux  Java  服务器  安全  互联网
当前位置 :| linux库>Oracle>开发技术>

Oracle中用SQL语句实现进制间互相转换

来源:linux库 作者:linuxku.com.cn 时间:2007-07-15 Tag: 点击:

本文用实际代码来实现进制间转换。

对其它进制可以根据例子将power的底数改成相应的进制就可以了。本文只是一个例子,大家可以把它封装成一个通用函数进行实用。大家在试的时候将里面相应的其它进制的数值换成自己的数据就可。

二进制转换十进制


select sum(data1)from (select substr('1101', rownum, 1) * power(2, length('1101') - rownum) data1from dual      connect by rownum <= length('1101'))

八进制转换十进制

select sum(data1)from (select substr('1101', rownum, 1) * power(8, length('1101') - rownum) data1from 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) data1from dual      connect by rownum <= length('2D'))

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册