CLOB数据类型按开始位置偏移量截取SUBSTR

CREATE OR REPLACE FUNCTION CLOB_SUBSTR(
V_CLOB CLOB,
N_OFFSET NUMBER)
RETURN CLOB
AS
N_BATCH NUMBER;
O_CLOB CLOB;
BEGIN
N_BATCH:=CEIL(DBMS_LOB.GETLENGTH(V_CLOB)/4000);
FOR I IN 1..N_BATCH LOOP
O_CLOB:=O_CLOB||DBMS_LOB.substr(V_CLOB,4000,N_OFFSET+(I-1)*4000);
END LOOP;
RETURN O_CLOB;
END;
/

猜你喜欢

转载自www.cnblogs.com/buffercache/p/10150929.html