DBE_RAW
接口介绍
高级功能包DBE_RAW支持的所有接口请参见表 DBE_RAW。
接口名称 |
描述 |
---|---|
将INTEGER类型值转换为二进制表示形式(即RAW类型)。 |
|
将二进制表示形式的整型值(即RAW类型)转换为INTEGER类型。 |
|
获取RAW类型对象的长度。 |
|
将VARCHAR2类型值转化为二进制表示形式(即RAW类型)。 |
|
DBE_RAW.CAST_TO_VARCHAR2 |
将RAW类型值转换成VARCHAR2类型。 |
DBE_RAW.SUBSTR |
求RAW类型子串。 |
DBE_RAW.BIT_OR |
RAW类型按位或。 |
![](https://support.huaweicloud.com/distributed-devg-v2-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
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;
- 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;
- DBE_RAW.GET_LENGTH
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
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
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; |