文档首页 > > 开发指南> 存储过程> 高级包> UTL_RAW

UTL_RAW

分享
更新时间: 2019/06/24 GMT+08:00

接口介绍

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

表1 UTL_RAW

接口名称

描述

UTL_RAW.CAST_FROM_BINARY_INTEGER

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

UTL_RAW.CAST_TO_BINARY_INTEGER

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

UTL_RAW.LENGTH

获取RAW类型对象的长度。

UTL_RAW.CAST_TO_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;
    表2 UTL_RAW.CAST_FROM_BINARY_INTEGER接口参数说明

    参数

    描述

    n

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

    endianess

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

  • 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;
    表3 UTL_RAW.CAST_TO_BINARY_INTEGER接口参数说明

    参数

    描述

    r

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

    endianess

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

  • 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;
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区