/*
*此函数实现了类似Java中split方法的分割功能
*/
CREATE COMPUTE MODULE InputRootTest_split
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
DECLARE ss CHARACTER;
SET ss = 'aa,bb,cc,';--需要分割的字符串,注意最后一个cc后面如果没有加上,会导致cc这个丢失
DECLARE str_p INT; -- 定义开始位置
SET str_p = 1; -- 初始化为起始位置
DECLARE end_p INT; -- 定义结束位置
DECLARE xt1 CHARACTER;
SET end_p = POSITION(';' IN ss);
declare i integer 1;
WHILE end_p>1 DO
SET xt1 = SUBSTRING(ss FROM str_p FOR end_p-1);--切割
IF xt1 IS NOT NULL THEN
--这里组装数组
DECLARE re CHARACTER;
SET re = xt1||';';
SET ss = REPLACE(ss,re);--删掉切割出来的部分
SET end_p = POSITION(';' IN ss);
end if;
set OutputRoot.XMLNSC.Body.split[i] = xt1;
set i=i+1;
END WHILE;
RETURN TRUE;
END;
END MODULE;