Oracle中的二进制、八进制、十进制、十六进制相互转换函数.docxVIP

Oracle中的二进制、八进制、十进制、十六进制相互转换函数.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle中的二进制、八进制、十进制、十六进制相互转换函数

今天在网上看到一篇关于在oracle中对各种进制数进行转换的帖子,觉得不错,也比较全面,几乎涵盖了经常用到的所有转换。转过来学习一下,也方便以后查询。==================================================================================大家经常遇到进制转换的问题,网上搜到的转换只是部分十进制与其它进制的转换,所以我把自己写的转换函数提供给大家,4种进制共12个转换函数,虽然有的转换直接使用to_char()和to_number()就可以实现,但我还是把它们整理到一起,使用和查找都方便。部分函数需要先创建type_str_agg类型和f_stragg函数才能使用,这两个对象的代码也附在之后。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) da

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档