接口介绍
功能包UTL_RAW支持的所有接口请参见表1。
接口名称 | 描述 |
---|---|
将INTEGER类型值转换为二进制表示形式(即RAW类型)。 | |
将二进制表示形式的整型值(即RAW类型)转换为INTEGER类型。 | |
获取RAW类型对象的长度。 | |
将VARCHAR2类型值转化为二进制表示形式(即RAW类型)。 |
RAW类型的外部表现形式是十六进制,内部存储形式是二进制。例如一个RAW类型的数据11001011的表现形式为‘CB’,即在实际的类型转换中输入的是‘CB’。
- UTL_RAW.CAST_FROM_BINARY_INTEGER
存储过程CAST_FROM_BINARY_INTEGER将INTEGER类型值转换为二进制表示形式(即RAW类型)。
UTL_RAW.CAST_FROM_BINARY_INTEGER函数原型为:
UTL_RAW.CAST_FROM_BINARY_INTEGER (
n IN INTEGER,
endianess IN INTEGER)
RETURN RAW; - UTL_RAW.CAST_TO_BINARY_INTEGER
存储过程CAST_TO_BINARY_INTEGER将二进制表示形式的整型值(即RAW类型)转换为INTEGER类型。
UTL_RAW.CAST_TO_BINARY_INTEGER函数原型为:
UTL_RAW.CAST_TO_BINARY_INTEGER (
r IN RAW,
endianess IN INTEGER)
RETURN BINARY_INTEGER; - UTL_RAW.LENGTH
存储过程LENGTH返回RAW类型对象的长度。
UTL_RAW.LENGTH函数原型为:
UTL_RAW.LENGTH(
r IN RAW)
RETURN INTEGER;表4 UTL_RAW.LENGTH接口参数说明 参数
描述
r
RAW类型对象
- UTL_RAW.CAST_TO_RAW
存储过程CAST_TO_RAW将VARCHAR2类型的对象转换成RAW类型。
UTL_RAW.CAST_TO_RAW函数原型为:
UTL_RAW.CAST_TO_RAW(
c IN VARCHAR2)
RETURN RAW;表5 UTL_RAW.CAST_TO_RAW接口参数说明 参数
描述
c
待转换的VARCHAR2类型对象
示例
--在存储过程中操作RAW数据
CREATE OR REPLACE PROCEDURE proc_raw
AS
str varchar2(100) := 'abcdef';
source raw(100);
amount integer;
BEGIN
source := utl_raw.cast_to_raw(str);--类型转换
amount := utl_raw.length(source);--获取长度
dbms_output.put_line(amount);
END;
/
--调用存储过程
CALL proc_raw();
--删除存储过程
DROP PROCEDURE proc_raw;