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)