抽出したい位置から文字列を抽出します。
TARGET = substring(INPUT, STARTPOSITION, COUNT);
1 4 2 3
| # | 説明 |
| 1 | [Destination Data] 抽出した文字列の格納先を設定します。 |
| 2 | [Start position] 文字列抽出の開始位置を指定する整数値。値は 1 以上で、抽出できる開始位置以下である必要があります。 |
| 3 | [Number of characters] 抽出する文字数を設定します。値は 1 以上で、抽出できる文字数以下である必要があります。 2 バイト文字は 1 文字としてカウントされます。 |
| 4 | [Source Data] 抽出する文字列を格納するソースデータを設定します。 |
(例)

Var4 = substring(Var3,Var5,Var1);
[Source Data] の変数 |
[Start position] |
[Number of characters] |
[Destination Data] の変数 |
コメント | |
対象文字列 |
最大バイト数 | 格納する抽出文字列 | |||
| ABCDE | 2 | 3 | 5 | BCD | - |
| 4 | 3 | 5 | (なし) | [Number of characters] が取得可能な文字数を超えているため、文字列は格納されません。「オペレーションの結果」オペレーションで失敗と判断されます。
|
|
| 6 | 3 | 5 | (なし) | [Start position] が可能な位置を越えているため、文字列は格納されません。「オペレーションの結果」で失敗と判断されます。
|
|
| 0 | 3 | 5 | (なし) | [Start Position] が 1 より小さいため、文字列は格納されません。「オペレーションの結果」で失敗と判断されます。
|
|
| -1 | 3 | 5 | (なし) | [Start Position] が 1 より小さいため、文字列は格納されません。「オペレーションの結果」で失敗と判断されます。
|
|
| 4 | 0 | 5 | (なし) | 変換された文字列は、 [Number of characters] が 1 より小さいため格納されません。「オペレーションの結果」オペレーションで失敗と判断されます。
|
|
| 4 | -1 | 5 | (なし) | 変換された文字列は、 [Number of characters] が 1 より小さいため格納されません。「オペレーションの結果」オペレーションで失敗と判断されます。
|
|
| 2.1 | 3 | 5 | BCD | [Start Position] の小数部は切り捨てられます。 | |
| 2 | 3.5 | 5 | BCD | [Number of characters] の小数点以下は除外されます。
|
|
| ABCDEF | 1 | 6 | 5 | (なし) | 変換された文字列は、格納できる最大バイト数を超えていたため格納されません。「オペレーションの結果」オペレーションで失敗と判断されます。
|
| AB(0x00)CDE | 2 | 3 | 5 | (なし) | 文字列は格納されません。NULL (0x00) がある場合、文字列はそこで終了します。結果として、[Number of characters] が取得可能な文字数を超えます。「オペレーションの結果」オペレーションで失敗と判断されます。
|
| 4 | 3 | 5 | (なし) | 文字列は格納されません。NULL (0x00) がある場合、文字列はそこで終了します。結果として、[Start position] が可能な位置を超えます。「オペレーションの結果」で失敗と判断されます。
|
|
| AあB | 1 | 3 | 5 | AあB | 文字列は、 [Number of characters] に基づいて格納されます。 *1
|
| 2 | 3 | 5 | (なし) | [Number of characters] が取得可能な文字数を超えているため、文字列は格納されません。「オペレーションの結果」オペレーションで失敗と判断されます。
|
|
| 2 | 2 | 5 | あB | 文字列は、 [Number of characters] に基づいて格納されます。 *1
|
|