7.94.1 SUBSTRINGのパラメータ

LANSA

7.94.1 SUBSTRINGのパラメータ


FIELD

INTO_FIELD

FIELD

文字列の抽出元のフィールドを指定します。任意で、文字列の開始位置と長さを指定することもできます。

このパラメータには、英数字タイプまたは数値タイプのフィールドを指定できます。パック10進数タイプの数値フィールドに対して特定の開始位置と長さを指 定する場合は、桁位置と長さがバイト位置とバイト長ではないこ とに注意してください。

文字列の開始位置を指定しない場合、開始位置1が使用されます。

文字列長を指定しない場合、*ENDが使用されます。この場合、開始位置からフィールド末尾までのすべての文字列が使用されます。

開始位置と長さの値は、リテラル値(10など)、または値が保持されているフィールドの名前(#LENGTHなど)として指定できます。

指定した開始位置と終了位置は、(変数である可能性があるため)実行時に検証されます。指定した開始位置または終了位置が無効の場合、ファンクションが異 常終了し、失敗原因を示すエラー・メッセージが発行されます。

英数字フィールドから数値フィールドへのサブストリング操作に関する特記事項:

注1:フィー ルドには、0〜9の数字のみが含まれている必要があります。符号記号('+'または'-')を含むその他の文字が含まれていると、予期しない結果になりま す。

注2:サ ブストリング操 作は左から右に向かって実行されます。したがって、フィールド値が'123.45'の場合、符号付きフィールド(6.2) (初期設定は*ZERO)の1文字目から右に向かってサブストリングされ、値は1234.50に設定されます。

注3:Unicodeフィールドの長さと開始位置は文字で指定されま す。全ての文字は2バイト単位です。

INTO_FIELD

FIELDパラメータで指定したフィールドから抽出した文字列を配置する先のフィールドを指定します。

このパラメータには、英数字タイプまたは数値タイプのフィールドを指定できます。パック10進数タイプの数値フィールドに対して特定の開始位置と長さを指 定する場合は、桁位置と長さがバイト位置とバイト長ではないこ とに注意してください。

文字列の開始位置を指定しない場合、開始位置1が使用されます。

文字列長を指定しない場合、*ENDが使用されます。この場合、開始位置からフィールド末尾までのすべての文字列が使用されます。

開始位置と長さの値は、リテラル値(10など)、または値が保持されているフィールドの名前(#LENGTHなど)として指定できます。

指定した開始位置と終了位置は、(変数である可能性があるため)実行時に検証されます。指定した開始位置または終了位置が無効の場合、ファンクションが異 常終了し、失敗原因を示すエラー・メッセージが発行されます。