oracle中utl_raw

Posted 叶落kiss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中utl_raw相关的知识,希望对你有一定的参考价值。

RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。
LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节
建表操作:
create table raw_test (id number, raw_date raw(10));
插入raw数据操作:
insert into raw_test values (1, hextoraw(‘abc‘));
insert into raw_test values (utl_raw.cast_to_raw(‘hello‘));
删除表操作:
drop table raw_test;
当使用HEXTORAW时,会把字符串中数据当作16进制数。

而使用UTL_RAW.CAST_TO_RAW时,直接把字符串中每个字符的ASCII码存放到RAW类型的字段中.

用到的码表通常为GB2312码表.

 

RAW 是用来存储二进制数据的。同 VARCHAR2, 它也是一个可变长度的数据类型

4、位操作函数
  FUNCTION bit_and(r1 IN RAW,
                   r2 IN RAW) RETURN RAW;
  FUNCTION bit_or(r1 IN RAW,
                  r2 IN RAW) RETURN RAW;
  FUNCTION bit_xor(r1 IN RAW,
                   r2 IN RAW) RETURN RAW;
如:
select utl_raw.bit_and(‘12344321‘,‘0f‘) from dual;
select utl_raw.bit_or(‘12344321‘,‘0f‘) from dual;
select utl_raw.bit_xor(‘12344321‘,‘0f‘) from dual;
结果分别为:
02344321、1F344321、1D344321

以上是关于oracle中utl_raw的主要内容,如果未能解决你的问题,请参考以下文章

在PostgreSQL中使用oracle_fdw访问Oracle

oracle中DateDiff()的用法

oracle中DDL DML指啥?

oracle中INTERSECT,MINUS用法

oracle中DDL DML指啥?

oracle中ORDER BY