Avalados por :

Funções LPAD e RPAD no BODS: Exemplo de uso e sintaxe.

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

O objetivo deste blog é explicar a função de preenchimento dentro do BO Data Services com um exemplo. A função de preenchimento é usada para formatar a string. As duas funções de preenchimento amplamente utilizadas dentro do BODS são:

  1. LPAD :
    Preenche a string com caracteres à esquerda de um padrão dado. Isso significa que se o usuário deseja que a string de entrada (que pode ser qualquer coluna de banco de dados do tipo string) tenha um número específico de caracteres (por exemplo, 50) que devem ser adicionados por um caractere específico (por exemplo, '0') à esquerda, então a função LPAD pode ser usada. A função LPAD repete o padrão no final da string de entrada até que a string final tenha o comprimento mencionado adequadamente. Se a string de entrada já for mais longa do que o comprimento esperado, esta função truncará a string.
  2. RPAD :
    Preenche a string com caracteres à direita de um padrão dado. Isso significa que se o usuário deseja que a string de entrada (que pode ser qualquer coluna de banco de dados do tipo string) tenha um número específico de caracteres (por exemplo, 50) que devem ser adicionados por um caractere específico (por exemplo, '0') à direita, então a função RPAD pode ser usada. A função RPAD repete o padrão no final da string de entrada até que a string final tenha o comprimento mencionado adequadamente. Se a string de entrada já for mais longa do que o comprimento esperado, esta função truncará a string.

Sintaxe das funções LPAD e RPAD dentro do BODS:

Vamos ver um exemplo e como as funções LPAD e RPAD funcionam. Passos a seguir:

  1. Faça login no designer do BO Data Services.
  2. Crie um projeto de teste chamado PRJ_TEST.
  3. Crie um job de teste chamado TEST_JOB.
  4. Crie um fluxo de trabalho chamado WF1 (Este passo é opcional, o usuário pode colocar diretamente um fluxo de dados).
  5. Arraste e solte um fluxo de dados e nomeie-o como DF_LPAD_RPAD.
  6. Pegue uma tabela de origem de qualquer data warehouse ou arquivo plano. No exemplo, um arquivo do Excel é usado como fonte com 2 colunas EMP_NO, EMP_NAME. Observação: aplicaremos preenchimento em EMP_NAME.
  7. Importe o arquivo do Excel no designer do BO Data Services.
  8. Arraste e solte o arquivo do Excel e uma transformação de consulta no fluxo de dados.
  9. Crie uma tabela temporária chamada LR_PADDING (como destino), no data warehouse configurado no sistema do usuário.
  10. A tela a seguir mostra o uso da função LPAD:

A sintaxe neste exemplo para LPAD e RPAD é a seguinte:

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

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

11. Valide o job e então execute-o.

12. Verifique os dados resultantes. A captura de tela abaixo mostra a saída da tabela de destino, onde o preenchimento é aplicado, sendo a coluna EMP_NAME o valor original do arquivo do Excel e LPAD_EMPNO & RAPD_EMPNO são os valores após aplicar a função de formatação de preenchimento.

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

4 Respuestas

0
Cargando...

Sim ... Sree está se comportando da mesma forma ... não sei se é um erro ou se sua funcionalidade é assim.

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

A função lpad e rpad funcionou bem para a coluna ENAME, mas não funcionou para a coluna EMPNO.

Peguei o mesmo exemplo anterior que tem como fonte uma planilha do Excel contendo os seguintes dados.

Mapeei lpad(EMP.EMPNO, 10, '0') e rpad(EMP.EMPNO, 10, '0') na transformação da consulta

Resultado:

No resultado anterior, lpad e rpad não foram aplicados à coluna EMPNO.

E defini o tipo de dados como varchar(255) para ambas as colunas. Por favor, ajude-me a obter também para empno. Quero exibir um valor de 10 caracteres para empno como 0000007001, 0000007002,....

Mas funciona bem se empno contiver qualquer valor de caracteres (por exemplo, "teste"), não dígitos.

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

Obrigado

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

Bom exemplo... Obrigado.

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?