MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

Em PHP temos uma função não tão conhecida, str_pad(), que completa uma string com qualquer caractere até uma quantidade definida pelo programador. Esta função é extremamente útil no caso de codificações padronizadas onde a quantidade de caracteres deve ser sempre fixa.

No MySQL temos uma função equivalente chamada LPAD(). A sintaxe desta função é LPAD(CAMPO,QUANTIDADE DE CARACTERES,CARACTERE PARA COMPLETAR)

Vamos fazer uma query na tabela exemplo 'produtos' abaixo:

cod | nome     | valor  
 3  | Iphone   | 3000.00  
 10 | Blue Ray | 1800.00  
 230| Book     | 30.00  


Vamos supor que o padrão de código exigido pelo sistema que lê o banco de dados seja de cinco (5) caracteres. Valores menores que este deverão ser preenchidos com zeros a esquerda


 SELECT LPAD(cod,5,'0') AS cod, nome,valor FROM produtos  

Teremos como resultado:

 cod    | nome     | valor  
 000003 | Iphone   | 3000.00  
 000010 | Blue Ray | 1800.00  
 000230 | Book     | 30.00  


Assim como podemos preencher as lacunas à esquerda  também o podemos à direita com a função RPAD() e utilizando o mesmo esquema de parâmetros.

Apesar de simples o exemplo tem inúmeras utilidades no dia a dia e evita rotinas secundárias dentro da lógica do sistema para preencher as lacunas, já que o dado sai do banco no formato correto.

Comentários

Postar um comentário

Postagens mais visitadas deste blog

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()