更新时间:2024-10-14 GMT+08:00

DBE_RAW

接口介绍

高级功能包DBE_RAW支持的所有接口请参见表 DBE_RAW

表1 DBE_RAW

接口名称

描述

DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW

将INTEGER类型值转换为二进制表示形式(即RAW类型)。

DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER

将二进制表示形式的整型值(即RAW类型)转换为INTEGER类型。

DBE_RAW.GET_LENGTH

获取RAW类型对象的长度。

DBE_RAW.CAST_FROM_VARCHA...

将VARCHAR2类型值转化为二进制表示形式(即RAW类型)。

DBE_RAW.CAST_TO_VARCHAR2

将RAW类型值转换成VARCHAR2类型。

DBE_RAW.SUBSTR

求RAW类型子串。

DBE_RAW.BIT_OR

RAW类型按位或。

RAW类型的外部表现形式是十六进制,内部存储形式是二进制。例如一个RAW类型的数据11001011的表现形式为‘CB’,即在实际的类型转换中输入的是‘CB’。

  • DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW

    存储过程CAST_FROM_BINARY_INTEGER_TO_RAW将INTEGER类型值转换为二进制表示形式(即RAW类型)。

    DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW函数原型为:

    1
    2
    3
    4
    DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW (
    value          IN  INTEGER,
    endianess      IN  INTEGER DEFAULT 1)
    RETURN RAW;
    
    表2 DBE_RAW.CAST_FROM_BINARY_INTEGER_TO_RAW接口参数说明

    参数

    描述

    value

    待转成RAW类型的整型数值。

    endianess

    表示字节序的整型值1或2(1代表BIG_ENDIAN,2代表LITTLE-ENDIAN)。

  • DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER

    存储过程CAST_FROM_RAW_TO_BINARY_INTEGER将二进制表示形式的整型值(即RAW类型)转换为INTEGER类型。

    DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER函数原型为:

    1
    2
    3
    4
    DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER (
    value          IN  RAW,
    endianess      IN  INTEGER DEFAULT 1)
    RETURN BINARY_INTEGER;
    
    表3 DBE_RAW.CAST_FROM_RAW_TO_BINARY_INTEGER接口参数说明

    参数

    描述

    value

    二进制表示形式的整型值(即RAW类型)。

    endianess

    表示字节序的整型值1或2(1代表BIG_ENDIAN,2代表LITTLE-ENDIAN)。

  • DBE_RAW.GET_LENGTH

    存储过程GET_LENGTH返回RAW类型对象的长度。

    DBE_RAW.GET_LENGTH函数原型为:

    1
    2
    3
    DBE_RAW.GET_LENGTH(
    value     IN    RAW)
    RETURN INTEGER;
    
    表4 DBE_RAW.GET_LENGTH接口参数说明

    参数

    描述

    value

    RAW类型对象

  • DBE_RAW.CAST_FROM_VARCHAR2_TO_RAW

    存储过程CAST_FROM_VARCHAR2_TO_RAW将VARCHAR2类型的对象转换成RAW类型。

    DBE_RAW.CAST_FROM_VARCHAR2_TO_RAW函数原型为:

    1
    2
    3
    DBE_RAW.CAST_TO_RAW(
    str     IN    VARCHAR2)
    RETURN RAW;
    
    表5 DBE_RAW.CAST_FROM_VARCHAR2_TO_RAW接口参数说明

    参数

    描述

    c

    待转换的VARCHAR2类型对象

  • DBE_RAW.CAST_TO_VARCHAR2

    存储过程CAST_TO_VARCHAR2将RAW类型的对象转换成VARCHAR2类型。

    DBE_RAW.CAST_TO_VARCHAR2函数原型为:

    1
    2
    3
    DBE_RAW.CAST_TO_VARCHAR2(
    str     IN    RAW)
    RETURN VARCHAR2;
    
    表6 DBE_RAW.CAST_TO_VARCHAR2接口参数说明

    参数

    描述

    str

    待转换的RAW类型对象

  • DBE_RAW.BIT_OR

    存储过程BIT_OR求两个RAW按位或的结果。

    DBE_RAW.BIT_OR函数原型为:

    1
    2
    3
    4
    DBE_RAW.BIT_OR(
    str1     IN    RAW,
    str2     IN    RAW)
    RETURN RAW;
    
    表7 DBE_RAW.BIT_OR接口参数说明

    参数

    描述

    str1

    按位或的第一个字符串

    str2

    按位或的第二个字符串

  • DBE_RAW.SUBSTR

    存储过程SUBSTR将RAW类型的对象按起始位和长度截取。

    DBE_RAW.SUBSTR函数原型为:

    1
    2
    3
    4
    5
    DBE_RAW.SUBSTR(
        IN lob_loc raw,
        IN off_set integer default 1,
        IN amount integer default 32767)
    RETURN RAW;
    
    表8 DBE_RAW.SUBSTR接口参数说明

    参数

    描述

    lob_loc

    源raw字符串

    off_set

    子串的起始位置,默认值1

    amount

    子串的长度,默认值32767

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
--在存储过程中操作RAW数据
CREATE OR REPLACE PROCEDURE proc_raw
AS
str varchar2(100) := 'abcdef';
source raw(100);
amount integer;
BEGIN
source := dbe_raw.cast_from_varchar2_to_raw(str);--类型转换
amount := dbe_raw.get_length(source);--获取长度
dbe_output.print_line(amount);
END;
/

--调用存储过程
CALL proc_raw();

--删除存储过程
DROP PROCEDURE proc_raw;