Funciones para cadenas de caracteres

El nuevo Open SQL permite el uso de las siguientes funciones para trabajar con las cadenas de caracteres en las sentencias de lectura:

  • LEFT

LEFT( expr, len )
La función admite dos argumentos. El primero de tipo carácter y el segundo de tipo número entero y devuelve los caracteres de la parte izquierda del primer argumento expr por las posiciones indicadas en el argumento len.

  • RIGHT

RIGHT( expr, len )
La función admite dos argumentos. El primero de tipo carácter y el segundo de tipo número entero y devuelve los caracteres de la parte derecha del primer argumento expr por las posiciones indicadas en el argumento len.

  • LPAD

LPAD( expr,len,src )
LPAD se encarga de rellenar en la parte izquierda del argumento expr hasta tener la longitud máxima del valor indicado en el segundo argumento len. Admite tres parámetros: el primero es la expresión, el segundo representa la longitud máxima y el tercero los caracteres utilizados para rellenar a la izquierda.

  • RPAD

RPAD( expr,len,src )
RPAD se encarga de rellenar en la parte derecha hasta tener la longitud máxima del valor indicado en el segundo argumento len. Admite tres parámetros: el primero es la expresión, el segundo representa la longitud máxima y el tercero los caracteres utilizados para rellenar a la derecha.

  • LTRIM

LTRIM( expr,char )
La función LTRIM corta o elimina el primer carácter de la parte izquierda de la expresión expr. Admite dos parámetros. El primero representa la columna o la expresión sobre cuál se trabaja para cortar el primer carácter de la parte izquierda y el segundo es el carácter por cortar.
Sólo admite un carácter en el segundo argumento. La función no realiza ninguna operación si el carácter indicado no existe como primera posición de la cadena.

  • RTRIM

RTRIM( expr,char )
La función RTRIM corta o elimina el último carácter de la parte derecha de la expresión expr. Admite dos parámetros. El primero representa la columna o la expresión sobre la cual se trabaja para cortar el último carácter de la parte derecha y el segundo es el carácter por cortar.
Sólo admite un carácter en el segundo argumento. La función no realiza ninguna operación si el carácter indicado no existe como última posición de la cadena.

  • INSTR

INSTR( expr,sub )
La función INSRT admite dos argumentos y devuelve un valor numérico que representa la posición donde se encontró la cadena del segundo argumento sub en el primer argumento expr.

  • LENGTH

LENGTH( expr )
La función LENGTH admite un parámetro y devuelve un número entero que representa la longitud de los caracteres.

  • REPLACE

REPLACE( expr1,expr2,expr3 )
La función REPLACE reemplaza los caracteres en una cadena. Admite tres argumentos: el primero representa la cadena, el segundo los caracteres que se quieren reemplazar y el tercero los nuevos caracteres que van a sustituir a los que se quieren reemplazar.

  • SUBSTRING

SUBSTRING( expr,pos,len )
La función SUBSTRING devuelve una subcadena. Admite tres argumentos: el primero representa la cadena, el segundo la posición de donde se va a obtener la subcadena y el tercer parámetro representa el número de caracteres o posiciones que va a tener la subcadena.

  • LOWER

LOWER( expr )
La función LOWER convierte una cadena de caracteres en minúsculas.

  • UPPER

UPPER( expr )
La función UPPER convierte una cadena de caracteres en mayúscula.

  • Ejemplo práctico

En un programa ejecutable declaramos la variable LV_CHAR de tipo C con una longitud de 6 y le asignamos el valor ‘LOGALI’. Realizamos una comprobación que verifica si en la tabla de base de datos estándar DEMO_EXPRESSIONS existe el registro con el valor L en la columna ID. Si el registro no existe lo insertamos en la tabla añadiendo los valores ‘AABbCDDe’ y ‘123456’ en las columnas CHAR1 y CHAR2.  A continuación, seleccionamos el mismo registro con la instrucción SELECT en una estructura declarada en línea con @DATA que va a contener los siguientes componentes:

  • ID (Columna de la tabla)
  • CHAR1 (Columna de la tabla)
  • CHAR2 (Columna de la tabla)
  • LEFT (Los primeros dos caracteres de la columna CHAR1)
  • RIGHT (Los últimos tres caracteres de la columna CHAR1)
  • LPAD (La representación del valor de la columna CHAR2 en 18 caracteres completada por el carácter ‘0’ en la parte izquierda)
  • RPAD (La representación del valor de la columna CHAR2 en 18 caracteres completada por el carácter ‘0’ en la parte derecha)
  • LTRIM (El valor de la columna CHAR1 sin el primer carácter ‘A’)
  • RTRIM (El valor de la columna CHAR1 sin el primer carácter ‘e’)
  • INSTR (La posición donde se encuentra el valor ‘bC’ en la columna CHAR1)
  • LENGTH (La longitud de los caracteres de la columna CHAR1)
  • REPLACE (El valor de la columna CHAR1 donde los caracteres ‘DD’ son reemplazados por los caracteres ‘__’)
  • SUBSTRING (La subcadena de dos caracteres de la columna CHAR1 empezando desde la tercera posición)
  • LOWER (El valor de la columna CHAR1 en minúsculas)
  • UPPER (El valor de la columna CHAR2 en mayúsculas)

Por último, mostramos los resultados del SELECT en una ventana utilizando el método estático DISPLAY de la clase CL_DEMO_OUTPUT.

Al ejecutar el programa obtenemos la siguiente salida: 121
 
 

2 comentarios de “Funciones para cadenas de caracteres

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *