VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

TO_BLOB

功能描述

TO_BLOB函数用于将RAW或LONG RAW类型的值转换成BLOB值。

注意事项

该功能仅在数据库兼容模式为Oracle时能够使用(即创建DB时DBCOMPATIBILITY='A'),在其他数据库兼容模式下不能使用该特性。

语法格式

TO_BLOB(value)

参数说明

value

待转换的RAW或LONG RAW类型数据。

示例

前置步骤: 创建并切换至兼容模式为Oracle的数据库db_oracle。

CREATE DATABASE db_oracle dbcompatibility='A';    
\c db_oracle

示例: RAW转换为BLOB。

1、创建数据类型为RAW的表,并插入数据。

create table test_1141584(id int, c1 raw);
insert into test_1141584 values(1, UTL_RAW.CAST_TO_RAW('test111'));
insert into test_1141584 values(2, UTL_RAW.CAST_TO_RAW('test222'));
insert into test_1141584 values(3, UTL_RAW.CAST_TO_RAW('test333'));

2、使用TO_BLOB函数查询并转化结果。

select TO_BLOB(c1) c1, pg_typeof(TO_BLOB(c1)) type from test_1141584;

返回结果如下所示, c1列为blob类型:

       c1       | type
----------------+------
 74657374313131 | blob
 74657374323232 | blob
 74657374333333 | blob
(3 rows)