IBM massage broker ESQL 实现Java中split(“-”)功能的方法

/*
*此函数实现了类似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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值