私が知る限り、ESQLにString Tokenizer関数はありません。
しかし、目標を達成するために、次の手順を基本として使用できます。このメソッドは、DelimのSをEnv(Environment.Split.Array []) の配列に分割し、それを再充填する前にEnvironment.Splitを削除します。
あなたの場合、デリムは必要ありません。サブストリング部分で固定長で作業する必要があります。
CREATE PROCEDURE Split (IN S CHARACTER, IN Env REFERENCE, IN Delim CHARACTER)
BEGIN
DECLARE P INTEGER;
DECLARE Idx INTEGER 1;
SET Env.Split = NULL;
REPEAT
SET P = POSITION(Delim IN S);
IF P = 0 THEN
SET Env.Split.Array[Idx] = S;
ELSE
SET Env.Split.Array[Idx] = LEFT(S, P - 1);
SET S = SUBSTRING(S FROM P + LENGTH(Delim));
SET Idx = Idx + 1;
END IF;
UNTIL P = 0
END REPEAT;
END;
出典:http://www.mqseries.net/phpBB2/viewtopic.php?p=97845&
ありがとう、あなたはvincentです。私は上記のアプローチを試みます。 – ranaa
私は上記のアプローチに従って、出力を釘付けにしました。 – ranaa
@ranaaそれを読むのはうれしい! (:うまくいけば、この回答を受け入れるように設定することができます。 – VincentS