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的主要内容,如果未能解决你的问题,请参考以下文章