维修网点 | 网站地图 | 加入收藏 | 设为首页 | 联系站长 |
本站公告: (请经常关注我站公告,您将有意想不到的收获!) 欢迎光临北京速帮电器维修网,这里是京城最专业的电器维修企业网,希望它可以带给你机器恢复生机的希望![速帮电器维修网  2008年7月9日]   您好,今天是:
当前位置:北京速帮电器维修网 >> 网络工程 >> 网站数据库开发 >> 浏览文章
巧用一条SQL语句实现其它进制到十进制转换!
时间: 2008年10月21日 来源:互联网 作者: 未知 浏览次数:
巧用一条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的底数改成相应的进制就可以了。

  本文只是一个例子,大家可以把它封装成一个通用函数进行实用。

  大家在试的时候将里面相应的其它进制的数值换成自己的数据就可以了(有多处)。

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
上一篇:MySQL 中修改密码及访问限制设置详解 下一篇文章:DB2数据库优化需掌握的几条基本策略
我也说两句

24小时热门信息 发表文章
特别推荐
最新更新
购物须知 | 付款方式 | 关于速帮 | 联系速帮 | 友情链接
Copyright 1998-2008 Powered by Bjlxjw.COM,北京速帮维修网 All Rights Reserved.
服务电话:010-60118386 86802160 传真:010-64621509 E-Mail:bjwxzx@126.com
技术支持及报修手机:13146594250 维修咨询服务QQ:136310508 京ICP备案:05032683号