GBase 8s clob数据类型操作函数

GBase 8s clob数据类型操作函数

GBase 8s中clob数据类型的操作一般使用filetoclob,lotofile和locopy函数;

示例如下:

-- 插入文本文件到指定字段中
insert into tabclob(id, clobcol) values (1, filetoclob('/home/gbase/clob.file','client'));
-- 导出clob内容至文件
select lotofile(clobcol,'/home/gbase/clob.file.20220103','client') from tabclob;
-- 复制clob
insert into tabclob2 select 2,locopy(clobcol) from tabclob where id = 1;

现在我们可以使用扩展的函数更便捷的操作clob
包含的内置bld函数如下,包含在excompat.bld中:
dbms_lob_getlength
dbms_lob_substr
dbms_lob_new_clob
我们可以依据此创建clob操作函数;

-- 获取clob的长度
drop function if exists clob_length (clob);
create function clob_length (clob)
returns integer
external name '$GBASEDBTDIR/extend/excompat.1.0/excompat.bld(dbms_lob_getlength)'
language c;

-- clob转换成字符,仅支持32K
drop function if exists clob_to_char(clob,integer,integer);
create function clob_to_char (clob,integer default 32767,integer default 1)
returns lvarchar
external name '$GBASEDBTDIR/extend/excompat.1.0/excompat.bld(dbms_lob_substr)'
language c;

-- char转换为clob
drop function if exists to_clob(lvarchar);
create function to_clob (lvarchar)
returns clob
external name '$GBASEDBTDIR/extend/excompat.1.0/excompat.bld(dbms_lob_new_clob)' language c;

使用示例:

-- 获取clob字段的内容长度
select clob_length(col2) from tabclob;
-- clob转换为char,特别注意第二个参数必须,否则可以越界
select clob_to_char(col2,clob_length(col2)) from tabclob;
-- 字符串转clob
insert into tabclob(col1,col2) values (3,to_clob('to_clob insert'));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值