ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用oracle utl_raw作为dump的逆函数

使用oracle utl_raw作为dump的逆函数

原创 Linux操作系统 作者:keeptrying 时间:2012-05-11 21:13:25 0 删除 编辑

对于dump出来的内容,通常不能直观的了解到想要的信息,可以通过utl_raw来实现。

1、  转换数字

1)、整数

SYS@ tsid > select dump(156983,16) from dual;

 

DUMP(156983,16)

------------------------

Typ=2 Len=4: c3,10,46,54

 

SYS@ tsid > select utl_raw.cast_to_number('c3104654') value from dual;

 

     VALUE

----------

    156983

 

上面的写法,当utl_raw.cast_to_number()引号中的内容多时,用起来不方便。可以加个replace()函数,处理起来便于阅读。

 

SYS@ tsid > select utl_raw.cast_to_number(replace('c3,10,46,54',',')) value from dual;

 

     VALUE

----------

    156983

   2)、小数

    SYS@ tsid > select dump(1765.93,16) from dual;

 

DUMP(1765.93,16)

------------------------

Typ=2 Len=4: c2,12,42,5e

 

SYS@ tsid > select utl_raw.cast_to_number(replace('c2,12,42,5e',',')) value from dual;

 

         VALUE

----------

       1765.93

 

2、  转换字符串

SYS@ tsid > select dump('oracle',16) value from dual;

 

VALUE

-------------------------------

Typ=96 Len=6: 6f,72,61,63,6c,65

 

 

SYS@ tsid > select utl_raw.cast_to_varchar2(replace('6f,72,61,63,6c,65',',')) value from dual;

 

VALUE

----------

oracle

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25744374/viewspace-729867/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-25

  • 博文量
    130
  • 访问量
    908898