Utilizamos a função LPAD para completar uma string do lado esquerdo com determinado(s) caractere(s).
O script dos exemplos, também estão no GitHub.
SINTAXE
LPAD (string, posicao_de_caracteres, 'caracter_para_preechimento')
- string: sequëncia de caracteres;
- posicao_de_caracteres: indica até que posição a string será preenchida;
- caracter_para_preechimento: caractere(s) utilizado(s) para o preenchimento, estes caracteres devem estar entre aspas;
Completar com o hifen (-) a esquerda dos nomes dos produtos até a 10ª posição.
Neste exemplo, vamos utilizar a coluna "nome_produto" tabela "tb_produto", exibida na imagem abaixo.
tb_produto |
Solução
SELECT
nome_produto,
LPAD (nome_produto,10, '-') AS nome_produto_com_hifen
FROM tb_produto;
Após a execução da sentença, teremos o seguinte resultado:
- lápis: tem 5 caracteres e foi preenchida com 5 caracteres para completar as 10 posições;
- caderno: tem 7 caracteres e foi preenchida com 3 caracteres para completar as 10 posições;
- borracha: tem 8 caracteres e foi preenchida com 2 caracteres para completar as 10 posições;
- cartolina: tem 9 caracteres e foi preenchida com 1 caractere para completar as 10 posições;
Por exemplo: uma ou mais letras, dígitos, espaços, asterisco entre outros.
2º Exemplo
Preencher com zeros "0" a esquerda, até a 5ª posição, os códigos dos produtos.
Neste exemplo, vamos utilizar a coluna "codigo_produto" tabela "tb_produto", exibida na imagem abaixo.
tb_produto |
Solução
Como a função LPAD completa uma string, antes de utilizarmos a função LPAD, neste exemplo, devemos utilizar a função CAST para converter a coluna codigo_produto que é do tipo integer (número inteiro) para string (CHARACTER VARYING ou VARCHAR como é mais conhecido).
SELECT
LPAD (CAST(codigo_produto AS VARCHAR), 5, '0') AS codigo_produto,
nome_produto
FROM tb_produto;
Após a execução da sentença, teremos o seguinte resultado:
Observações
- O número 8426 tem 4 dígitos, e foi preenchido com 1 zero para completar 5 dígitos;
- O número 438 tem 3 dígitos, e foi preenchido com 2 zeros para completar 5 dígitos;
- O número 22 tem 2 dígitos, e foi preenchido com 3 zeros para completar 5 dígitos;
- O número 16547 tem 5 dígitos, logo não foi preenchido com zeros, pois já contém 5 dígitos;
http://jquerydicas.blogspot.com.br/2017/07/postgresql-funcao-rpad.html
Deixe o seu comentário ou sugestão.
Gostou? Siga no Google + ou Facebook.
Nenhum comentário:
Postar um comentário