Avalados por :

Funciones LPAD y RPAD en BODS: Ejemplo de uso y sintaxis

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 33 Vistas
0
Cargando...

El propósito de este blog es explicar la función de relleno dentro de BO Data Services con un ejemplo. La función de relleno se utiliza para formatear la cadena. Las dos funciones de relleno ampliamente utilizadas dentro de BODS son:

  1. LPAD :
    Rellena la cadena con caracteres a la izquierda de un patrón dado. Esto significa que si el usuario desea que la cadena de entrada (puede ser cualquier columna de base de datos de tipo cadena) tenga un número específico de caracteres (por ejemplo, 50) que deben ser agregados por un carácter específico (por ejemplo, '0') a la izquierda, entonces se puede usar la función LPAD. La función LPAD repite el patrón al final de la cadena de entrada hasta que la cadena final tenga la longitud mencionada apropiadamente. Si la cadena de entrada ya es más larga que la longitud esperada, esta función trunca la cadena.
  2. RPAD :
    Rellena la cadena con caracteres a la derecha de un patrón dado. Esto significa que si el usuario desea que la cadena de entrada (puede ser cualquier columna de base de datos de tipo cadena) tenga un número específico de caracteres (por ejemplo, 50) que deben ser agregados por un carácter específico (por ejemplo, '0') a la derecha, entonces se puede usar la función RPAD. La función RPAD repite el patrón al final de la cadena de entrada hasta que la cadena final tenga la longitud mencionada apropiadamente. Si la cadena de entrada ya es más larga que la longitud esperada, esta función trunca la cadena.

Sintaxis de las funciones LPAD y RPAD dentro de BODS:

Tomemos un ejemplo y veamos cómo funcionan las funciones LPAD y RPAD. Pasos a seguir:

  1. Iniciar sesión en el diseñador de BO Data services.
  2. Crear un proyecto de prueba llamado PRJ_TEST.
  3. Crear un trabajo de prueba llamado TEST_JOB.
  4. Crear un flujo de trabajo llamado WF1 (Este paso es opcional, el usuario puede colocar directamente un flujo de datos).
  5. Arrastrar y soltar un flujo de datos, y nombrarlo como DF_LPAD_RPAD.
  6. Tomar una tabla fuente de cualquier almacén de datos o archivo plano. En el ejemplo se toma un archivo de Excel como fuente con 2 columnas EMP_NO, EMP_NAME. Nota: aplicaremos relleno en EMP_NAME.
  7. Importar el archivo de Excel en el diseñador de BO Data services.
  8. Arrastrar y soltar el archivo de Excel y una transformación de consulta en el flujo de datos.
  9. Crear una tabla temporal llamada LR_PADDING (como destino), en el almacén de datos configurado en el sistema del usuario.
  10. La siguiente pantalla muestra el uso de la función LPAD:

La sintaxis en este ejemplo para LPAD y RPAD es la siguiente:

Lpad (Query_1.EMP_NAME,10,'0')

Rpad (Query_1.EMP_NAME,10,'0')

11. Validar el trabajo y luego ejecutarlo.

12. Verificar los datos resultantes. La captura de pantalla a continuación muestra la salida de la tabla de destino, donde se aplica el relleno, donde la columna EMP_NAME es el valor original del archivo de Excel y LPAD_EMPNO & RAPD_EMPNO son los valores después de aplicar la función de formato de relleno.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Sí ... Sree se está comportando de la misma manera ... no sé si es un error o si su funcionalidad es así.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Funcionó bien lpad y rpad para la columna ENAME pero no funcionó para la columna EMPNO.

He tomado el mismo ejemplo anterior que tiene como fuente una hoja de cálculo de Excel que contiene los siguientes datos.

mapeado lpad( EMP.EMPNO, 10, '0') y rpad( EMP.EMPNO, 10, '0') en la transformación de consulta

Resultado:

en el resultado anterior lpad y rpad no se aplicaron a la columna EMPNO.

y he tomado el tipo de datos como varchar(255) para ambas columnas. por favor ayúdame a obtenerlo también para empno. Quiero mostrar un valor de 10 caracteres para empno como 0000007001, 0000007002,....

Pero funciona bien si empno contiene cualquier valor de caracteres (por ejemplo, "test") no dígitos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Gracias

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Buen ejemplo ... Gracias.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?