TRIM はストリング処理関数で、すべてのストリング・データ・タイプ (BIT、BLOB、および CHARACTER) を処理し、ストリングから先頭および末尾の素子を除去します。
>>-TRIM--(--+----------------------------------------------+----> '-+-trim_singleton-------------------+-- FROM -' | .-BOTH-----. | '-+-LEADING--+--+----------------+-' '-TRAILING-' '-trim_singleton-' >--source_string--)--------------------------------------------><
TRIM は source_string と同じタイプの新しいストリングを戻しますが、この中では、先頭または末尾 (あるいは両方) の素子は除去されています。用語「素子 (singleton)」は、そのとき対象としているタイプのストリング内の単一部分 (BIT、BYTE、または CHARACTER) を指します。
素子には、ソース・ストリングからトリムされる複数の文字のリストを含めることができます。
CHARACTER | ' ' (スペース) |
---|---|
BLOB | X'00' |
BIT | B'0' |
いずれかのパラメーターが NULL なら、結果は NULL です。
文字ストリング比較のルールでは末尾ブランクは意味を持たないので、比較の前に文字ストリングの末尾ブランクを取り除くことは、多くの場合、不要です。
TRIM(TRAILING 'b' FROM 'aaabBb')
'aaabB' を戻します。 TRIM(' a ')
'a' を戻します。 TRIM(LEADING FROM ' a ')
'a ' を戻します。 TRIM('b' FROM 'bbbaaabbb')
'aaa' を戻します。DECLARE input1 CHARACTER 'testmgktest';
SET OutputRoot.XMLNSC.Top.Out1 = TRIM( 'ste' FROM input1);
上記のコードによって、次の出力メッセージが生成されます。<Top><Out1>mgk</Out1></Top>
DECLARE whiteSpace CONSTANT CHARACTER CAST( X'090D0A20' AS CHAR CCSID 1208);
/* tab, cr, lf, space */
DECLARE input2 CHARACTER 'smith';
SET input2 = whiteSpace || input2 || whiteSpace;
SET OutputRoot.XMLNSC.Top.Out2 = TRIM( whiteSpace FROM input2);
上記のコードによって、次の出力メッセージが生成されます。<Top><Out2>smith</Out2></Top>