Extrai uma string de uma posição desejada.
TARGET = substring(INPUT, STARTPOSITION, COUNT);
1 4 2 3
| # | Descrição |
| 1 | [Destination Data] Defina o destino onde deseja armazenar a string extraída. |
| 2 | [Start position] Valor inteiro que especifica o ponto inicial para extração de string. O valor deve ser maior ou igual a 1 e menor ou igual à posição inicial extraível. |
| 3 | [Number of characters] Defina o número de caracteres a extrair. O valor deve ser maior ou igual a 1 e menor ou igual ao número de caracteres que podem ser extraídos. Os caracteres de byte-duplo são contados como um único caractere. |
| 4 | [Source Data] Defina os dados de origem onde a string a ser extraída é armazenada. |
(Exemplo)

Var4 = substring(Var3,Var5,Var1);
Variável em [Source Data] |
[Start position] |
[Number of characters] |
Variável em [Destination Data] |
Comentários | |
String de terminal |
Número máximo de bytes | String extraída para armazenar | |||
| ABCDE | 2 | 3 | 5 | BCD | - |
| 4 | 3 | 5 | (nenhum) | Uma string não é armazenada porque o [Number of characters] excede o número de caracteres recuperáveis. É julgado como falha na operação "Resultado da operação".
|
|
| 6 | 3 | 5 | (nenhum) | Uma string não é armazenada porque a [Start position] excede a posição inicial disponível. É julgado como facassado na operação "Resultado da operação".
|
|
| 0 | 3 | 5 | (nenhum) | Uma string não é armazenada porque a [Start Position] é menor que 1. É julgado como facassado na operação "Resultado da operação".
|
|
| -1 | 3 | 5 | (nenhum) | Uma string não é armazenada porque a [Start Position] é menor que 1. É julgado como facassado na operação "Resultado da operação".
|
|
| 4 | 0 | 5 | (nenhum) | Uma string não é armazenada porque o [Number of characters] é menor que 1. É julgado como falha na operação "Resultado da operação".
|
|
| 4 | -1 | 5 | (nenhum) | Uma string não é armazenada porque o [Number of characters] é menor que 1. É julgado como falha na operação "Resultado da operação".
|
|
| 2.1 | 3 | 5 | BCD | A parte decimal da [Start Position] é truncada. | |
| 2 | 3.5 | 5 | BCD | Os valores à direita do ponto decimal em [Number of characters] são descartados.
|
|
| ABCDEF | 1 | 6 | 5 | (nenhum) | Uma string não é armazenada porque a string convertida excedeu o número máximo de bytes que podem ser armazenados. É julgado como falha na operação "Resultado da operação".
|
| AB(0x00)CDE | 2 | 3 | 5 | (nenhum) | Uma string não é armazenada. Se houver um NULO (0x00), a string será encerrada lá. Como resultado, o [Número de caracteres] excede o número de caracteres recuperáveis. É julgado como falha na operação "Resultado da operação".
|
| 4 | 3 | 5 | (nenhum) | Uma string não é armazenada. Se houver um NULO (0x00), a string será encerrada lá. Como resultado, a [Start position] excede a posição inicial disponível. É julgado como facassado na operação "Resultado da operação".
|
|
| AあB | 1 | 3 | 5 | AあB | A string é armazenada com base no [Number of characters]. *1
|
| 2 | 3 | 5 | (nenhum) | Uma string não é armazenada porque o [Number of characters] excede o número de caracteres recuperáveis. É julgado como falha na operação "Resultado da operação".
|
|
| 2 | 2 | 5 | あB | A string é armazenada com base no [Number of characters]. *1
|
|