Árvore de páginas

Sintaxis

 

SUBSTR( <expresión carácter>, <expresión numérica 1>  [ , <expresión numérica 2> ] )

 

 

Propósito

 

Extrae una parte de una cadena de caracteres.

 

 

Argumentos

 

< expresión carácter >

 

Define la cadena de caracteres de la cual se extraerá una parte.

 

< expresión numérica 1 >

 

Define la posición inicial de la parte que se extraerá de la expresión carácter. Si es positiva se contará de izquierda a derecha. Es decir, del inicio al final. Si es negativa se contará de derecha a izquierda. Es decir, del final al inicio.

 

Esta información es obligatoria.

 

< expresión numérica 2 >

 

Define el número de caracteres que se extraerán de la expresión carácter, contados a partir de la posición inicial especificada por la expresión numérica 1. Si se omite, la extracción partirá de la posición inicial determinada e irá hasta el final de la expresión carácter. Si es superior al número de caracteres existentes del inicio de la parte que se extraerá hasta el final de la expresión carácter, se ignorará.

 

 

Utilización

 

Esta función se utiliza cuando es necesario extraer un conjunto de caracteres  de una determinada cadena de caracteres.

 

Un ejemplo típico de uso de esta función es el manejo de códigos compuestos, como generalmente son los números de cuentas contables, en los cuales cada parte del código identifica un grupo o un subgrupo de cuentas.

 

Sugerencias

 

Las funciones LEFT(), RIGHT() y SUBSTR() son relacionadas, suministrando partes extraídas de una cadena de caracteres especificada. La función LEFT() suministra la parte de la izquierda, RIGHT() suministra la parte de la derecha y SUBSTR() suministra una parte intermedia. Estas funciones generalmente se utilizan con las funciones AT() y RAT(), que pueden ubicar la posición de las partes que se extraerán.

 

Por medio de estas funciones puede manejarse cualquier cadena de caracteres con 64 Kbytes de longitud (65.535 caracteres) como máximo.

 

La función RIGHT() es equivalente a la función SUBSTR() si el argumento que determina la posición inicial de la parte es igual a -1. Por ejemplo: RIGHT(“Clipper”, 3) suministra la misma parte que SUBSTR(“Clipper”, -1, 3).

 

La función LEFT() es equivalente a la función SUBSTR() si el argumento que determina la posición inicial de la parte es igual a 1. Por ejemplo: LEFT(“Clipper”, 3) suministra la misma parte que SUBSTR(“Clipper”, 1, 3).

 

 

Ejemplos

 

Para extraer “11” del número de la cuenta “2.22.11.21.00”, utilizamos la función de la siguiente forma:

 

SUBSTR(“2.22.11.21.00”, 6, 2)

 

cTexto := “AdvPL – El lenguaje de programación del Protheus”

 

SUBSTR(cTexto, 23, 11)     // Resulta “programación”.

SUBSTR(cTexto, 38)           // Resulta “Protheus”.

SUBSTR(cTexto, -1, 8)        // Resulta “Protheus”.

  • Sem rótulos