/*
*此函数实现了类似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;IBM massage broker ESQL 实现Java中split(“-”)功能的方法
最新推荐文章于 2024-05-05 09:41:45 发布
本文介绍了一个自定义SQL函数,该函数模拟Java中的split方法来分割字符串。通过不断查找并替换分隔符,将原始字符串逐步分割成多个子串,并保存到数组中。此方法适用于需要在SQL环境中进行字符串解析的场景。

395

被折叠的 条评论
为什么被折叠?



