| 网站首页 | 资讯 | Hack | 漏洞 | 网管 | 编程 | 培训 | 品黑页 | 软件 | 论坛 | 动画 | 视频 | 经典 | 教学站 | 黑客点睛 | 
免费服务 我要发布 在线破解 黑客游戏 精华收集 免费空间 网络硬盘 独家报道 黑器点播 免费 FTP 交换资源
收费服务 黑客培训 光盘刻录 黑客书籍 视频下载 主力频道 空间域名 网站建设 特色服务 解决方案 我要投诉
 
一条SQL实现进制转换           ★★★ 【字体:
用一条SQL实现其它进制到十进制的转换
作者:Humphrey 文章来源:赛迪网 点击数: 更新时间:2008-5-19

  问:怎样实现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的底数改成相应的进制就可以了。

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

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

责任编辑:朱倩  联系方式  Email:朱倩
电话:51228163
  • 上一篇网管:

  • 下一篇网管: 没有了
  • (只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    姓 名:
    * 游客填写  ·注册用户
    主 页:
    评 分:
    1分 2分 3分 4分 5分
    评论内容:
    验证码: *
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 最新hack更新
    最新推荐资讯
    相关网管
    学会检查SQL注入漏洞
    3个步骤结束网站恶梦
    被sql关到门外的解决方法
    堵死网站被SQL注入的隐患
    如何编写SQL Server 2005 PIVOT查
    简单三步走堵死 SQL Server 注入
    SQL注入-入侵动网
    三个步骤 堵死网站被SQL注入的隐
    SQL SERVER的安全隐患―触发器
    SQL Server服务器最新漏洞解决方
    最新会员软件
    最新推荐视频
    最新推荐动画

    Copyright @ 2005 77169.Net Inc. All rights reserved. 华夏黑客同盟 版权所有
    北京市电信通提供网络带宽

    mailto:webmaster@77169.net
    咨询QQ号:836982 / 59280880
    联系站长 QQ38588913
    热线电话: 86-10-67634029/676229433
    京ICP证041431号