CLOB里存的是2进制
判定长度 DBMS_LOB.GETLENGTH(col1)
获取文本 DBMS_LOB.SUBSTR(col1,n,pos)
DBMS_LOB.SUBSTR(col1,10,1)表示从第1个字节开始取出10个字节
DBMS_LOB.SUBSTR(CLOB_VAR,32767)表示截取CLOB变量保存的全部数据
DBMS_LOB.FILECLOSE(IMG_BFILE)关闭文件
clob转化为字符串,SELECT UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(col1,10,1)) FROM tab1;
如果clob中包含空格则不能使用。
将clob类型转化成字符串
dbms_lob.instr(
lob_loc in blob,
pattern in raw,
offset in integer := 1;
nth in integer := 1)
return integer;
substr函数
substr函数用于从大对象中抽取指定数码的字节。当我们只需要大对象的一部分时,通常使用这个函数。
操作内部大对象的substr函数语法如下:
dbms_lob.substr(
lob_loc in blob,
amount in integer := 32767,
offset in integer := 1)
return raw;
具体实例:
select
instr(C_VIPATTRIB6_FILTER,'(') as r,instr(C_VIPATTRIB6_FILTER,')') as t,
dbms_lob.substr(C_VIPATTRIB6_FILTER,instr(C_VIPATTRIB6_FILTER,')')-instr(C_VIPATTRIB6_FILTER,'(')-1,18) 客户类型,
dbms_lob.substr(C_VIPATTRIB9_FILTER,instr(C_VIPATTRIB9_FILTER,')')-instr(C_VIPATTRIB9_FILTER,'(')-1,18) 购物方式
From C_VIP_SEC