这里我接收了一个大约 4500 长度的字符串,里面是由 “,”分隔的子字符串连接而成的,如 ‘abc,123,中国,···’我需要将里面的子字符串一个一个拿出来,我使用length,substr,instr函数拆分时,都提示我字符串超过了长度,这些都用不了,我就犯难了,谁帮帮忙,给写个好用的拆分函数

解决方案 »

  1.   

    -- 用 clob类型,就OK啦!
      

  2.   

    把变量赋予一个clob变量,利用dbms_lob包的substr和instr等函数进行处理.
      

  3.   

    --在你的sql语句中要用到这个字符串用绑定变量
    然后把这个sql语句和字符串当做参数放到下面的存储过程里
    CREATE OR REPLACE PROCEDURE EXEC_SQL1(ASQL varchar2, ALongVar1 clob)
    AS --ASQL为带绑定变量的sql语句 ALongVar1为长字符串
    BEGIN
    EXECUTE IMMEDIATE ASQL USING ALongValue;
    END EXEC_SQL1;