Extrae una cadena de una posición deseada.
TARGET = substring(INPUT, STARTPOSITION, COUNT);
1 4 2 3
| # | Descripción |
| 1 | [Datos de destino] Establezca el destino donde desea almacenar la cadena extraída. |
| 2 | [Start position] Valor entero que especifica el punto de inicio para la extracción de la cadena. El valor debe ser mayor o igual que 1 y menor o igual que la posición inicial extraíble. |
| 3 | [Number of characters] Defina el número de caracteres a extraer. El valor debe ser mayor o igual que 1, y menor o igual que el número de caracteres que se pueden extraer. Los caracteres de doble byte se cuentan como un solo carácter. |
| 4 | [Datos de origen] Defina el destino donde se almacena la cadena a extraer. |
(Ejemplo)

Var4 = substring(Var3,Var5,Var1);
Variable en [Source Data] |
[Start position] |
[Number of characters] |
Variable en [Destination Data] |
Comentarios | |
Cadena de destino |
Número máximo de bytes | Cadena extraída para almacenar | |||
| ABCDE | 2 | 3 | 5 | BCD | - |
| 4 | 3 | 5 | (ninguno) | No se almacena una cadena porque el [Number of characters] supera el número de caracteres recuperables. Se considera como fallido en la operación "Resultado de la operación".
|
|
| 6 | 3 | 5 | (ninguno) | No se almacena una cadena porque la [Start position] excede la posición de inicio disponible. Se considera fallida en el "Resultado de la operación".
|
|
| 0 | 3 | 5 | (ninguno) | No se almacena una cadena porque la [Start position] es menor que 1. Se considera fallida en el "Resultado de la operación".
|
|
| -1 | 3 | 5 | (ninguno) | No se almacena una cadena porque la [Start position] es menor que 1. Se considera fallida en el "Resultado de la operación".
|
|
| 4 | 0 | 5 | (ninguno) | No se almacena una cadena porque el [Number of characters] es menor que 1. Se considera como fallido en la operación "Resultado de la operación".
|
|
| 4 | -1 | 5 | (ninguno) | No se almacena una cadena porque el [Number of characters] es menor que 1. Se considera como fallido en la operación "Resultado de la operación".
|
|
| 2.1 | 3 | 5 | BCD | La parte decimal de la [Start Position] está truncada. | |
| 2 | 3,5 | 5 | BCD | Los valores a la derecha de la coma decimal en [Number of characters] se eliminan.
|
|
| ABCDEF | 1 | 6 | 5 | (ninguno) | No se almacena una cadena porque la cadena convertida ha superado el número máximo de bytes que se pueden almacenar. Se considera como fallido en la operación "Resultado de la operación".
|
| AB(0x00)CDE | 2 | 3 | 5 | (ninguno) | No se almacena una cadena. Si hay un NULL (0x00), la cadena se termina ahí. Como resultado, el [Número de caracteres] supera el número de caracteres recuperables. Se considera como fallido en la operación "Resultado de la operación".
|
| 4 | 3 | 5 | (ninguno) | No se almacena una cadena. Si hay un NULL (0x00), la cadena se termina ahí. Como resultado, la [Start position] excede la posición de inicio disponible. Se considera fallida en el "Resultado de la operación".
|
|
| AあB | 1 | 3 | 5 | AあB | La cadena se almacena según el [Number of characters]. *1
|
| 2 | 3 | 5 | (ninguno) | No se almacena una cadena porque el [Number of characters] supera el número de caracteres recuperables. Se considera como fallido en la operación "Resultado de la operación".
|
|
| 2 | 2 | 5 | あB | La cadena se almacena según el [Number of characters]. *1
|
|