`

Oracle中如何进行进制转换

 
阅读更多
16进制转换为10进制
可以通过to_number函数实现,如:
select to_number('c11f','xxxx') from dual;

10进制转换为16进制
可通过to_char函数转换,如:
select to_char(3000,'xxx') from dual;

2进制转换为10进制
从Oracle9i开始,提供函数bin_to_num进行2进制到10进制的转换,如:
select bin_to_num(1,1,0,1) a,bin_to_num(1,0) b from dual;

进制转换也可以通过自定义函数实现
看看Tom给出的例子:
create or replace function to_base( p_dec in number, p_base in number )
return varchar2
is
l_str varchar2(255) default NULL;
l_num number default p_dec;
l_hex varchar2(16) default '0123456789ABCDEF';
begin
if ( trunc(p_dec) <> p_dec OR p_dec < 0 ) then
raise PROGRAM_ERROR;
end if;
loop
l_str := substr( l_hex, mod(l_num,p_base)+1, 1 ) || l_str;
l_num := trunc( l_num/p_base );
exit when ( l_num = 0 );
end loop;
return l_str;
end to_base;
/


create or replace function to_dec
( p_str in varchar2,
p_from_base in number default 16 ) return number
is
l_num number default 0;
l_hex varchar2(16) default '0123456789ABCDEF';
begin
for i in 1 .. length(p_str) loop
l_num := l_num * p_from_base + instr(l_hex,upper(substr(p_str,i,1)))-1;
end loop;
return l_num;
end to_dec;
/
show errors

create or replace function to_hex( p_dec in number ) return varchar2
is
begin
return to_base( p_dec, 16 );
end to_hex;
/
create or replace function to_bin( p_dec in number ) return varchar2
is
begin
return to_base( p_dec, 2 );
end to_bin;
/
create or replace function to_oct( p_dec in number ) return varchar2
is
begin
return to_base( p_dec, 8 );
end to_oct;
/




分享到:
评论

相关推荐

    oracle 10进制转34进制 sql

    一个SQL脚本函数,10进制转换为34进制。34进制指以0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G、H、J、K、L、M、N、P、Q、R、S、T、U、V、W、X、Y、Z为基数做累加。

    oracle_34进制转10进制_10进制转34进制_生成34进制最大编码

    实现10进制和34进制之间的转换,资源包含三个Oracle自定义函数,分别为: 34进制转换为10进制; 10进制转换为34进制; 生成34进制的最大编码; 欢迎提宝贵意见! 799192594@qq.com

    SQL脚本函数 34进制转换为10进制

    ### SQL脚本函数:34进制转换为10进制 #### 背景介绍 在计算机科学领域,不同的进制系统被广泛应用于数据表示和处理中。常见的进制有二进制(2进制)、八进制(8进制)、十进制(10进制)和十六进制(16进制)。而...

    Oracle中用SQL语句实现进制间互相转换

    在Oracle数据库中,有时我们需要对数字进行不同进制之间的转换,比如从二进制、八进制或十六进制转换为十进制。这在处理二进制数据、存储编码或者解析特定格式的数据时非常有用。Oracle提供了一种利用SQL语句实现...

    二进制、八进制、十进制、十六进制-相互转换.jar

    二进制 八进制 十进制 十六进制 相互转换 jar 含源代码 运行前安装JRE先,下载地址: http://download.oracle.com/otn-pub/java/jdk/6u29-b11/jre-6u29-windows-i586.exe 本程序用Java编写,适合java爱好者使用

    用一条SQL 实现其它进制到十进制的转换

    在数据库管理中,有时我们需要将不同进制的数字转换为十进制以便进行计算或比较。Oracle数据库提供了一些内置函数和方法来处理这样的转换。本文将详细解释如何使用一条SQL语句在Oracle中实现二进制、八进制和十六...

    springMvc+Oracle的图片转二进制流

    当涉及到图片处理时,有时需要将图片转换为二进制流,以便于在数据库中存储和检索。以下将详细讲解如何在Spring MVC和Oracle环境中实现这一过程。 首先,我们需要理解图片转二进制流的概念。在计算机系统中,图片...

    ORACLE 自动类型转换

    例如,当一个数字与字符串进行比较时,Oracle会尝试将字符串转换为数字,或者在存储过程中,如果参数的数据类型与变量不匹配,Oracle会尝试自动转换。 2. **显示转换**:另一种转换方式是通过显式使用CAST或TO_CHAR...

    SqlServer与Oracle保存与读取图片二进制流

    本文将深入探讨如何在SQL Server 2008和Oracle数据库中保存和读取图片的二进制流。 1. **二进制流**:二进制流是一种数据表示方式,允许我们处理任何类型的原始字节数据,包括图片、音频文件或视频文件。在数据库中...

    3 进制转换.docx

    - **源码、反码、补码**:十进制数转换为二进制时,正数的三种表示方式相同;负数则有所不同。 - **源码**:直接转换得到的二进制数。 - **反码**:源码取反。 - **补码**:反码加一。 - **8/16/32位二进制数**:...

    图片以二进制保存到Oracle,取出并显示到页面示例

    本示例将探讨如何在Oracle数据库中以二进制格式存储图片,并随后从数据库中取出显示在网页上。Oracle数据库提供了BLOB(Binary Large Object)数据类型,专门用于存储大对象,如图像、音频文件或任何其他二进制数据...

    oracle中的BLOB(照片)转换到mysql中

    本篇将详细讲解如何在Oracle与MySQL之间进行BLOB类型的转换,特别是针对照片的处理。 首先,让我们了解BLOB类型。BLOB是一种可以存储大量二进制数据的对象,分为四种子类型:BLOB、CLOB、NCLOB和BFILE。在Oracle中...

    Guid转换为oracle存储格式

    在这种情况下,"Guid转换为Oracle存储格式"是指将C#中的Guid(全局唯一标识符)转换成Oracle数据库能够识别并存储的格式。 Guid是.NET Framework中的一个内置类型,用于生成全局唯一的128位整数,通常以字符串形式...

    oracle字段类型转换的处理

    在Oracle数据库中,字段类型转换是一项常见的操作,特别是在数据迁移、数据清洗或处理来自不同数据源的数据时。本文将深入探讨Oracle字段类型的转换方法,并提供一个实用的工具示例。 Oracle数据库支持多种数据类型...

    oracle(blob转换为clob)

    在某些情况下,可能需要将BLOB类型的数据转换为CLOB类型,例如,在处理文本数据时,如果数据被错误地存储为BLOB,或者需要将二进制数据中的可读文本部分提取出来进行处理。本文将详细介绍如何使用Oracle内置函数和...

    oracle财务数字转换中文

    1. **预处理输入**:先将输入值中的逗号移除,转换为数值,再转换为字符串形式,并进行修剪和格式化处理。 2. **判断特殊情况**: - 如果输入值为零,则直接返回“零”。 - 如果输入值为负数,则去除负号并标记`l_...

    Oracle SQL 内置函数大全(3)

    在Oracle SQL中,内置函数是数据库操作中不可或缺的一部分,它们提供了强大的数据处理能力。下面将详细解释提供的几个关键函数: 1. **CONVERT(c, dset, sset)**:此函数用于将源字符串`sset`从一个特定的语言字符...

    图片存入Oracle中,用clob和blob两种方式

    它可以直接存储原始的二进制数据,无需进行任何编码转换,因此对于图片存储来说,`BLOB`通常是更直接且高效的方式。 3. **图片存入Oracle的步骤**: - **准备环境**:首先确保已经安装了Oracle数据库客户端和相应...

    sqludr sqludr2

    在Oracle数据库中,SQL UDR可以用来实现复杂的数据处理逻辑,例如聚合操作、复杂计算、数据转换等,这些操作如果用标准的SQL语句实现可能会很繁琐或者效率低下。通过UDR,开发者可以编写C、C++或其他支持的语言代码...

Global site tag (gtag.js) - Google Analytics