`
netxdiy
  • 浏览: 679483 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ORACLE connect by语法的一个妙用

 
阅读更多
ORACLE connect by语法的一个妙用,也许没有太多的实用价值,不过我想可以给我们在解决实际的问题时给于一定的启发。


ORACLE中用一条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 '))
此文转自csdn论坛。

分享到:
评论

相关推荐

    Oracle递归查询start with connect by prior的用法

    一、基本语法 connect by递归查询基本语法是: select 1 from 表格 start with … connect by prior id = pId start with:表示以什么为根节点,不加限制可以写1=1,要以id为123的节点为根节点,就写为start ...

    oracle跨库查询

    oracle跨库查询 --语法 /*定义 create [public] databse link _link_name connect to _username identified by _passowrd using '_servername/_serverurl'; */ /*调用 select * from _table_name@_link_name */...

    Oracle 数据库树形结构用法总结.mht

    Oracle 数据库树形结构用法总结,例如SYS_CONNECT_BY_PATH 、START WITH . . . CONNECT BY . . .等具体语法介绍

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    10.3.1 一个CONNECT BY的例子 274 10.3.2 使用RSF的例子 275 10.3.3 RSF的限制条件 276 10.3.4 与CONNECT BY的不同点 276 10.4 复制CONNECT BY的功能 277 10.4.1 LEVEL伪列 278 10.4.2 SYS_CONNECT_BY_PATH...

    MySQL多种递归查询方法.docx

    在 Oracle 中是通过 start with connect by prior 语法来实现递归查询的。 按照 prior 关键字在子节点端还是父节点端,以及是否包含当前查询的节点,共分为四种情况。 prior 在子节点端(向下递归) 第一种情况: ...

    最全的oracle常用命令大全.txt

     dictionary 全部数据字典表的名称和解释,它有一个同义词dict dict_column 全部数据字典表里字段名称和解释 如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: SQL&gt;select * from dictionary ...

    韩顺平oracle学习笔记

    记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要 成为一个oracle高手过程:理解小知识点-&gt;做小练习-&gt;把小的只是点连成线-&gt;做oracle项目-&gt;形成只是面-&gt;深刻理解 Oracle基础部分:oracle基础使用; ...

    Oracle实战层次查询

    层次查询的概念 层次查询的语法 基本层次查询 层次查询的增强特性 CONNECT BY特殊用法示例

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat 3. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行...

    oracle树结构查询.DOC

    详细介绍了,oracle的树状结构查询的语法start with… CONNECT BY…

    Oracle SQL树形结构查询

    oracle中的select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是: 代码如下:select * from tablename start with cond1 connect by cond2 where cond3;...

    oracle数据库在客户端建立dblink语法

    oracle服务器没有建立目标数据库的TNS时,在客户端(有权限的情况下)建立dblink语法如下: 代码如下: create database link dblink_name connect to user_name identified by user_psw using ‘(DESCRIPTION = ...

    Oracle8i_9i数据库基础

    §4.1.2 创建一个新视图 128 §4.1.3 删除一个视图 130 §4.1.4 改变视图 131 §4.2 实体视图(MATERIALIZED VIEW) 131 §4.2.1 创建实体视图 131 §4.2.2 创建实体视图日志 137 §4.2.3 修改实体视图 139 §4.2.4 ...

    Orcale查询树形结构

    Oracle中的select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:  select * from tablename start with cond1  connect by cond2  where cond3; ...

    Oracle事例

    create public database link dblink1 connect to db1 identified by \"123*456\" using \'db11\' 20.oracle8中扩充了group by rollup和cube的操作。有时候省了你好多功夫的。 下面的语句可以进行总计 select ...

    Mysql树形递归查询的实现方法

    前言 对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的...connect by递归查询基本语法是: select 1 from 表格 start with … connect by prior id = pId start with

    orcale常用命令

     dictionary 全部数据字典表的名称和解释,它有一个同义词dict dict_column 全部数据字典表里字段名称和解释 如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: SQL&gt;select * from dictionary ...

    Oracle通过递归查询父子兄弟节点方法示例

    说到Oracle中的递归查询语法,我觉得有一些数据库基础的童鞋应该都知道,做项目的时候应该也会用到,下面本文就来介绍下关于Oracle通过递归查询父子兄弟节点的相关内容,分享出来供大家参考学习,下面话不多说了,来...

    SQL培训第一期

    当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值;如果表之间有匹配行,则整个结果集行包含基表的数据值。 1.6.4.2 语法 select A.*, B.* from student_A A full outer join student_B B on A.Uuid...

Global site tag (gtag.js) - Google Analytics