为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: 【操作系统】: 【CPU】: 【问题描述】*: 【表结构】字段A类型为CLOB,数据字符串长度220000. 【需求描述】需要截取字段A第10个字符后内容。 【问题描述】使用SUBSTR和DBMS_LOB.SUBSTR均提示“-6108: 字符串截断”。请问还有其他函数能够处理这种字符串吗。
有个笨办法,用正则表达式来切字符串,结果还是TEXT类型的,但这个可能在早期的DM版本里不支持,你测试下看看。
SELECT A ,LENGTHB(A) AS A_LEN ,REGEXP_SUBSTR(A,'.{10}(.+)',1,1,NULL,1) AS SUB ,LENGTHB(REGEXP_SUBSTR(A,'.{10}(.+)',1,1,NULL,1)) AS SUB_LEN FROM T_TEMP
有个笨办法,用正则表达式来切字符串,结果还是TEXT类型的,但这个可能在早期的DM版本里不支持,你测试下看看。
SELECT A ,LENGTHB(A) AS A_LEN ,REGEXP_SUBSTR(A,'.{10}(.+)',1,1,NULL,1) AS SUB ,LENGTHB(REGEXP_SUBSTR(A,'.{10}(.+)',1,1,NULL,1)) AS SUB_LEN FROM T_TEMP