惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
L
LangChain Blog
博客园 - 司徒正美
G
Google Developers Blog
博客园 - 【当耐特】
GbyAI
GbyAI
月光博客
月光博客
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
D
Docker
MongoDB | Blog
MongoDB | Blog
Vercel News
Vercel News
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
博客园 - 聂微东

博客园 - shenpeng

C#中的具名参数和可选参数 C#中使用ExcelDataReader读取Excel文件 使用OleDbCommandBuilder时出现“Insert into 语句的语法错误”的解决方法(转) 在eclipse中使用中文JAVA api文档 .NET、ASP.NET控件及源码大汇总 60多个精品源码站 ASP.net常用代码(常用技巧备忘) C#程序转为VB.NET程序的一个小问题 Any和Some和ALL 的使用,以及交操作差操作的嵌套查询(Oracle) (转) CEIL和FLOOR函数查询(Oracle,MSSQL) (转) 字符串分割自定义函数(SQL) (转) 数据库优化设计方案(转) 浅谈反射与特性在接口系统中的应用(编码表转化) (转) 数字格式化(转) 将DataSet导出成XLS、XML、HTML、CSV、TSV等格式 纵表变横表经典中的经典 Web页面的数据导出excel时的格式问题(转) Access中使用SQL语句应掌握的几点技巧(转) 在SQL Server中修改sa的密码
ORACLE中巧用一条SQL 实现其它进制到十进制转换(转)
shenpeng · 2008-03-18 · via 博客园 - shenpeng

问:怎样实现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的底数改成相应的进制就可以了。
本文只是一个例子,大家可以把它封装成一个通用函数进行实用。
大家在试的时候将里面相应的其它进制的数值换成自己的数据就可以了(有多处)。

来源:赛迪网 作者:han
http://database.csdn.net/page/e6d07a2b-5126-4bf4-9414-890f4874f272