- 浏览: 118993 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
niezhihong:
Java代码 Contact selContact = (C ...
liferay 日历使用 -
释皇天:
<script language="javas ...
js获得当前日期和昨天日期 -
释皇天:
火狐下可以不???貌似不可以。
js获得当前日期和昨天日期 -
plj123:
今天遇到这个问题了,用outerHTML会报未知运行时错误。 ...
js删除tr -
javaray:
遨豪(大连)科技有限公司自2007年与Liferay,Inc合 ...
liferay 中的经常使用的
引用
转至网络,未经测试
Oracle里二进制、八进制、十进制、十六进制之间的互相转换 --各进制之间转换 CREATE OR REPLACE TYPE type_str_agg AS OBJECT ( total VARCHAR2(4000), STATIC FUNCTION odciaggregateinitialize(sctx IN OUT type_str_agg) RETURN NUMBER, MEMBER FUNCTION odciaggregateiterate ( SELF IN OUT type_str_agg, VALUE IN VARCHAR2 ) RETURN NUMBER, MEMBER FUNCTION odciaggregateterminate ( SELF IN type_str_agg, returnvalue OUT VARCHAR2, flags IN NUMBER ) RETURN NUMBER, MEMBER FUNCTION odciaggregatemerge ( SELF IN OUT type_str_agg, ctx2 IN type_str_agg ) RETURN NUMBER ) / CREATE OR REPLACE TYPE BODY type_str_agg IS STATIC FUNCTION odciaggregateinitialize(sctx IN OUT type_str_agg) RETURN NUMBER IS BEGIN sctx := type_str_agg(NULL); RETURN odciconst.success; END; MEMBER FUNCTION odciaggregateiterate ( SELF IN OUT type_str_agg, VALUE IN VARCHAR2 ) RETURN NUMBER IS BEGIN SELF.total := SELF.total || VALUE; RETURN odciconst.success; END; MEMBER FUNCTION odciaggregateterminate ( SELF IN type_str_agg, returnvalue OUT VARCHAR2, flags IN NUMBER ) RETURN NUMBER IS BEGIN returnvalue := SELF.total; RETURN odciconst.success; END; MEMBER FUNCTION odciaggregatemerge ( SELF IN OUT type_str_agg, ctx2 IN type_str_agg ) RETURN NUMBER IS BEGIN SELF.total := SELF.total || ctx2.total; RETURN odciconst.success; END; END; / CREATE OR REPLACE FUNCTION f_stragg(p_input VARCHAR2) RETURN VARCHAR2 PARALLEL_ENABLE AGGREGATE USING type_str_agg; / CREATE OR REPLACE PACKAGE pkg_number_trans IS FUNCTION f_bin_to_oct(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_bin_to_dec(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_bin_to_hex(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_oct_to_bin(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_oct_to_dec(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_oct_to_hex(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_hex_to_bin(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_hex_to_oct(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_hex_to_dec(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_dec_to_bin(p_int IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_dec_to_oct(p_int IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_dec_to_hex(p_int IN VARCHAR2) RETURN VARCHAR2; END pkg_number_trans; / CREATE OR REPLACE PACKAGE BODY pkg_number_trans IS FUNCTION f_bin_to_oct(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_bin_to_oct -- 对象描述: 二进制转换八进制 -- 输入参数: p_str 二进制字符串 -- 返回结果: 八进制字符串 -- 测试用例: SELECT pkg_number_trans.f_bin_to_oct('11110001010') FROM dual; -- 备 注: 需要定义f_stragg函数和type_str_agg类型 ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); v_bin VARCHAR2(4000); BEGIN v_bin := substr('00' || p_str, -3 * ceil(length(p_str) / 3)); SELECT f_stragg(data1) INTO v_return FROM (SELECT (CASE upper(substr(v_bin, (rownum - 1) * 3 + 1, 3)) WHEN '000' THEN '0' WHEN '001' THEN '1' WHEN '010' THEN '2' WHEN '011' THEN '3' WHEN '100' THEN '4' WHEN '101' THEN '5' WHEN '110' THEN '6' WHEN '111' THEN '7' END) data1 FROM dual CONNECT BY rownum <= length(v_bin) / 3); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_bin_to_oct; FUNCTION f_bin_to_dec(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_bin_to_dec -- 对象描述: 二进制转换十进制 -- 输入参数: p_str 二进制字符串 -- 返回结果: 十进制字符串 -- 测试用例: SELECT pkg_number_trans.f_bin_to_dec('11110001010') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); BEGIN SELECT SUM(data1) INTO v_return FROM (SELECT substr(p_str, rownum, 1) * power(2, length(p_str) - rownum) data1 FROM dual CONNECT BY rownum <= length(p_str)); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_bin_to_dec; FUNCTION f_bin_to_hex(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_bin_to_hex -- 对象描述: 二进制转换十六进制 -- 输入参数: p_str 二进制字符串 -- 返回结果: 十六进制字符串 -- 测试用例: SELECT pkg_number_trans.f_bin_to_oct('11110001010') FROM dual; -- 备 注: 需要定义f_stragg函数和type_str_agg类型 ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); v_bin VARCHAR2(4000); BEGIN v_bin := substr('000' || p_str, -4 * ceil(length(p_str) / 4)); SELECT f_stragg(data1) INTO v_return FROM (SELECT (CASE upper(substr(v_bin, (rownum - 1) * 4 + 1, 4)) WHEN '0000' THEN '0' WHEN '0001' THEN '1' WHEN '0010' THEN '2' WHEN '0011' THEN '3' WHEN '0100' THEN '4' WHEN '0101' THEN '5' WHEN '0110' THEN '6' WHEN '0111' THEN '7' WHEN '1000' THEN '8' WHEN '1001' THEN '9' WHEN '1010' THEN 'A' WHEN '1011' THEN 'B' WHEN '1100' THEN 'C' WHEN '1101' THEN 'D' WHEN '1110' THEN 'E' WHEN '1111' THEN 'F' END) data1 FROM dual CONNECT BY rownum <= length(v_bin) / 4); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_bin_to_hex; FUNCTION f_oct_to_bin(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_oct_to_bin -- 对象描述: 八进制转换二进制 -- 输入参数: p_str 八进制字符串 -- 返回结果: 二进制字符串 -- 测试用例: SELECT pkg_number_trans.f_oct_to_bin('3612') FROM dual; -- 备 注: 需要定义f_stragg函数和type_str_agg类型 ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); BEGIN SELECT to_char(to_number(f_stragg(data1))) INTO v_return FROM (SELECT (CASE upper(substr(p_str, rownum, 1)) WHEN '0' THEN '000' WHEN '1' THEN '001' WHEN '2' THEN '010' WHEN '3' THEN '011' WHEN '4' THEN '100' WHEN '5' THEN '101' WHEN '6' THEN '110' WHEN '7' THEN '111' END) data1 FROM dual CONNECT BY rownum <= length(p_str)); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_oct_to_bin; FUNCTION f_oct_to_dec(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_oct_to_dec -- 对象描述: 八进制转换十进制 -- 输入参数: p_str 八进制字符串 -- 返回结果: 十进制字符串 -- 测试用例: SELECT pkg_number_trans.f_oct_to_dec('3612') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); BEGIN SELECT SUM(data1) INTO v_return FROM (SELECT substr(p_str, rownum, 1) * power(8, length(p_str) - rownum) data1 FROM dual CONNECT BY rownum <= length(p_str)); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_oct_to_dec; FUNCTION f_oct_to_hex(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_oct_to_bin -- 对象描述: 八进制转换十六进制 -- 输入参数: p_str 八进制字符串 -- 返回结果: 十六进制字符串 -- 测试用例: SELECT pkg_number_trans.f_oct_to_hex('3612') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); v_bin VARCHAR2(4000); BEGIN SELECT pkg_number_trans.f_oct_to_bin(p_str) INTO v_bin FROM dual; SELECT pkg_number_trans.f_bin_to_hex(v_bin) INTO v_return FROM dual; RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_oct_to_hex; FUNCTION f_dec_to_bin(p_int IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_dec_to_bin -- 对象描述: 十进制转换二进制 -- 输入参数: p_str 十进制字符串 -- 返回结果: 二进制字符串 -- 测试用例: SELECT pkg_number_trans.f_dec_to_bin('1930') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); v_hex VARCHAR2(4000); BEGIN SELECT pkg_number_trans.f_dec_to_hex(p_int) INTO v_hex FROM dual; SELECT pkg_number_trans.f_hex_to_bin(v_hex) INTO v_return FROM dual; RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_dec_to_bin; FUNCTION f_dec_to_oct(p_int IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_dec_to_oct -- 对象描述: 十进制转换八进制 -- 输入参数: p_str 十进制字符串 -- 返回结果: 八进制字符串 -- 测试用例: SELECT pkg_number_trans.f_dec_to_oct('1930') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); v_bin VARCHAR2(4000); BEGIN SELECT pkg_number_trans.f_dec_to_bin(p_int) INTO v_bin FROM dual; v_bin := substr('00' || v_bin, -3 * ceil(length(v_bin) / 3)); SELECT f_stragg(data1) INTO v_return FROM (SELECT (CASE upper(substr(v_bin, (rownum - 1) * 3 + 1, 3)) WHEN '000' THEN '0' WHEN '001' THEN '1' WHEN '010' THEN '2' WHEN '011' THEN '3' WHEN '100' THEN '4' WHEN '101' THEN '5' WHEN '110' THEN '6' WHEN '111' THEN '7' END) data1 FROM dual CONNECT BY rownum <= length(v_bin) / 3); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_dec_to_oct; FUNCTION f_dec_to_hex(p_int IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_dec_to_oct -- 对象描述: 十进制转换十六进制 -- 输入参数: p_str 十进制字符串 -- 返回结果: 十六进制字符串 -- 测试用例: SELECT pkg_number_trans.f_dec_to_hex('1930') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); BEGIN SELECT upper(TRIM(to_char(p_int, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'))) INTO v_return FROM dual; RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_dec_to_hex; FUNCTION f_hex_to_bin(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_dec_to_oct -- 对象描述: 十六进制转换二进制 -- 输入参数: p_str 十六进制字符串 -- 返回结果: 二进制字符串 -- 测试用例: SELECT pkg_number_trans.f_hex_to_oct('78A') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); BEGIN SELECT to_char(to_number(f_stragg(data1))) INTO v_return FROM (SELECT (CASE upper(substr(p_str, rownum, 1)) WHEN '0' THEN '0000' WHEN '1' THEN '0001' WHEN '2' THEN '0010' WHEN '3' THEN '0011' WHEN '4' THEN '0100' WHEN '5' THEN '0101' WHEN '6' THEN '0110' WHEN '7' THEN '0111' WHEN '8' THEN '1000' WHEN '9' THEN '1001' WHEN 'A' THEN '1010' WHEN 'B' THEN '1011' WHEN 'C' THEN '1100' WHEN 'D' THEN '1101' WHEN 'E' THEN '1110' WHEN 'F' THEN '1111' END) data1 FROM dual CONNECT BY rownum <= length(p_str)); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_hex_to_bin; FUNCTION f_hex_to_oct(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_dec_to_oct -- 对象描述: 十六进制转换八进制 -- 输入参数: p_str 十六进制字符串 -- 返回结果: 八进制字符串 -- 测试用例: SELECT pkg_number_trans.f_hex_to_oct('78A') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); v_bin VARCHAR2(4000); BEGIN SELECT pkg_number_trans.f_hex_to_bin(p_str) INTO v_bin FROM dual; SELECT pkg_number_trans.f_bin_to_oct(v_bin) INTO v_return FROM dual; RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_hex_to_oct; FUNCTION f_hex_to_dec(p_str IN VARCHAR2) RETURN VARCHAR2 IS ---------------------------------------------------------------------------------------------------------------------- -- 对象名称: f_hex_to_dec -- 对象描述: 十六进制转换十进制 -- 输入参数: p_str 十六进制字符串 -- 返回结果: 十进制字符串 -- 测试用例: SELECT pkg_number_trans.f_hex_to_dec('78A') FROM dual; ---------------------------------------------------------------------------------------------------------------------- v_return VARCHAR2(4000); BEGIN SELECT SUM(data1) INTO v_return FROM (SELECT (CASE upper(substr(p_str, 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(p_str, rownum, 1) END) * power(16, length(p_str) - rownum) data1 FROM dual CONNECT BY rownum <= length(p_str)); RETURN v_return; EXCEPTION WHEN OTHERS THEN RETURN NULL; END f_hex_to_dec; END pkg_number_trans; /
发表评论
-
oracle
2014-10-31 12:03 630oracle执行计划,百度文库文档,以备后用 -
oracle 查询两表之间差异
2013-03-14 16:02 744oracle 查询两个表的差别 比如 表1 create ... -
oracle 递归查询
2012-09-17 15:52 0select a.title,a.asset_id,a.c ... -
oracle归档错误
2011-08-12 14:23 825ORA-16038: log 2 sequence# 242 ... -
存储过程
2010-10-29 14:16 816create or replace trigger repor ... -
触发器
2010-10-18 16:59 857create or replace trigger rep ... -
oracle cursor
2009-08-10 17:01 1230declare cursor c1 is select f ... -
oracle函數大全
2009-07-29 11:21 812SQL中的单记录函数 1.ASCII 返回与指定的字符对应 ... -
Oracle数据库字符集问题解决方案大全
2009-07-10 11:23 1117原文来自:http://www.oracl ... -
oracle function
2009-07-07 17:04 0create or replace function test ... -
oracle备忘递归查询
2009-06-29 15:23 10481.Data dictionary Objects sour ... -
oracle 語法命令備忘
2009-06-23 17:33 1211[/color][color=green]1.利用现有的表创建 ...
相关推荐
压缩包内的文件`进制转换update.c`可能包含了对原有代码的更新或改进,`进制转换toInt.c`可能是一个专门用于将其他进制转换成整数的函数,而`进制转换.c`则可能是整个进制转换功能的核心源文件。 在C语言中实现进制...
综上所述,"基于单片机(AT89C51)的进制转换及进制计算器"项目涵盖了单片机原理、进制转换算法、程序设计、硬件接口设计等多个方面的知识。通过这个项目,开发者不仅可以提升单片机编程技能,还能深入理解进制转换的...
辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 ...
《易语言模块完全进制转换》 易语言作为一款国内自主研发的编程语言,以其独特的“易”学特性,深受广大编程初学者和爱好者喜爱。在编程过程中,进制转换是一项基础且重要的技能,无论是十进制、二进制、八进制还是...
"微机原理进制转换程序设计" 本资源摘要信息是关于微机原理中进制转换程序设计的知识点总结。进制转换是计算机科学中一个非常重要的概念,涉及到不同数制之间的转换,如二进制、十进制、十六进制等。 1. 需求说明 ...
文档中虽然存在OCR扫描识别错误,但是可以推测出内容涉及了进制转换相关的关键字,比如“Decimal number”代表十进制数,“Hex”代表十六进制数,这些关键字都是进行进制转换时常用的术语。 文档提供的其他链接和...
进制转换是计算机科学中的基础概念,用于在不同的数值系统之间转换数字。在这个场景中,我们讨论的是一个基于MFC(Microsoft Foundation Classes)框架编写的进制转换器应用。MFC是微软提供的一套C++类库,它使得...
计算机各种进制转换练习题 计算机中的进制转换是计算机科学和信息技术中的一种基本概念。它是指在不同进制系统之间进行数值表示的转换,例如十进制、 二进制、八进制、十六进制等。下面是计算机各种进制转换的练习...
在编程领域,进制转换是一项基础且重要的技能。在C#这种高级编程语言中,进行进制转换可以方便地处理二进制、八进制、十进制和十六进制等不同数字系统之间的数据交互。本项目是一个专门针对进制转换的小程序,旨在...
至于八进制到十六进制,我们需要先将八进制转换为十进制,然后将十进制转换为十六进制。在转换为十进制之后,我们可以使用`HEX`函数(在某些系统中可能为`CONVERT(VARBINARY, ..., 16)`)将数字转换为十六进制。例如...
了解并能够灵活运用ASCII码与十六进制转换对于IT专业人员来说是至关重要的。 ASCII码是基于拉丁字母的一套电脑编码系统,最初设计用于打字机,现在已经成为电子通信的标准之一。它包含了128个字符,包括英文大小写...
在C#编程环境中,Winform应用常常用于创建用户界面,而进制转换是计算机科学的基础概念,涉及到二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)之间的数值转换。下面将详细阐述如何...
在现代计算机科学和信息技术领域,进制转换是不可或缺的基础技能之一。不管是编写程序、设计电路还是处理计算机内的数据表示,都离不开在各种数值系统之间进行转换。数值系统中常见的有二进制(base-2)、八进制...
"进制转换练习题及答案39资料.pdf" 本文档提供了39道进制转换练习题及答案,涵盖二进制、十进制、十六进制之间的转换,ASCII 码、汉字国标码、商品条形码等标准化编码的知识点。通过这些练习题,可以帮助学生和从业...
《魔兽争霸WAR3 JASS技能ID进制转换器详解及应用》 在魔兽争霸III(WAR3)的游戏世界中,地图编辑器与JASS(Just Another Scripting System)语言为玩家提供了无限的创意空间,让游戏爱好者能够自定义游戏规则、...
进制转换是计算机科学中的基础概念,涉及到二进制(Binary)、八进制(Octal)、十进制(Decimal)和十六进制(Hexadecimal)等不同数字系统间的转换。这些进制转换在编程、数据存储、硬件设计等多个IT领域都有广泛...
在IT领域,进制转换是一项基础且至关重要的技能,它涉及到计算机科学的多个方面,如数据存储、计算、编码和通信。本工具专注于二进制、八进制、十进制和十六进制之间的转换,这些是计算机系统中最常见的数字表示形式...
"计算机各种进制转换练习题" 计算机进制转换是计算机科学中的一种基本概念,指的是将不同进制的数字进行相互转换,如十进制、 二进制、八进制、十六进制等。这种转换在计算机科学和编程中有着广泛的应用。 在本...
Java实现的进制转换工具类完整示例 Java实现的进制转换工具类是Java语言中的一种常用工具类,用于实现各种进制之间的转换操作,如二进制、十六进制、字符串、数组等。该工具类主要提供了将字节数组转换为十六进制...