ORACLE connect by语法的一个妙用
来源:互联网 发布:西安爱知中学招聘 编辑:程序博客网 时间:2024/06/10 06:33
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中用一条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 connect by语法的一个妙用
- Connect by实现树查询的妙用
- ORACLE 提供了一个有趣的功能 connect by 子句
- oracle connect by 的用法
- Oracle CONNECT BY的用法
- oracle connect by 的使用
- Oracle "CONNECT BY"的使用
- Oracle Connect By的用法
- Oracle CONNECT BY的用法
- Oracle connect by的使用
- connect by level语法的理解
- Connect by 语法了解
- Connect by 语法了解
- connect by语法探究
- Oracle “CONNECT BY” 使用Oracle “CONNECT BY”是层次查询子句,一般用于树状或者层次结果集的查询。其语法是:
- oracle树结构查询----connect by语法详解
- oracle树结构查询----connect by语法详解 (转)
- oracle树结构查询----connect by语法详解
- 使用Vim + Cscope/Ctags|Vim,Cscope,Ctags
- Java Servlet概述
- SOA 最佳实践:BPEL 指南
- 如果你死掉了,你愿意写上什么样的墓志铭?
- 32位CPU所含有的寄存器
- ORACLE connect by语法的一个妙用
- Linux设备驱动程序设计实例
- 自己动手编写小波信号分解与重构的Matlab程序
- 控制文本框的滚动
- VS.NET 2005中实用的默认键
- .NET(C#) Hashtable Dictionary 探索
- UI(用户界面)的人性设计
- 宏定义中的do...while(0)
- 正则表达式入门教程(有删节)