No MySQL, o
LPAD()
A função permite preencher a parte esquerda de uma string com um ou mais caracteres. A maneira como funciona é que você especifica a string a ser preenchida, o comprimento do preenchimento, bem como a string de caracteres a ser usada para o preenchimento.
Sintaxe
A sintaxe fica assim:
LPAD(str,len,padstr)
Onde
str
é a string para preencher, len
é o comprimento desejado da string em caracteres após todo o preenchimento ter sido aplicado e padstr
é a string para preenchê-lo. Exemplo 1 – Uso básico
Aqui está um exemplo de preenchimento da parte esquerda de uma string com o caractere asterisco:
SELECT LPAD('Cat', 6, '*') AS Result;
Resultado:
+--------+ | Result | +--------+ | ***Cat | +--------+
Neste exemplo, o segundo argumento é
6
, o que significa que a string inteira deve ter 6 caracteres de comprimento depois que todo o preenchimento for aplicado. O terceiro argumento especifica qual caractere usar para o preenchimento. Então, neste caso, se quisermos apenas um asterisco, podemos fazer isso:
SELECT LPAD('Cat', 4, '*') AS Result;
Resultado:
+--------+ | Result | +--------+ | *Cat | +--------+
Exemplo 2 – Vários caracteres
Você não está limitado a apenas um único personagem. Você pode preencher uma string com qualquer número de caracteres.
Por exemplo, poderíamos pegar o exemplo anterior e adicionar um espaço após o asterisco:
SELECT LPAD('Cat', 5, '* ') AS Result;
Resultado:
+--------+ | Result | +--------+ | * Cat | +--------+
Observe que também aumentamos a contagem de caracteres para
5
para acomodar o personagem extra. Aqui está outro exemplo usando caracteres diferentes:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Resultado:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Exemplo 3 – O segundo argumento é muito pequeno
Se o valor do segundo argumento for muito pequeno, você pode acabar sem preenchimento:
SELECT LPAD('Cat', 3, '*') AS Result;
Resultado:
+--------+ | Result | +--------+ | Cat | +--------+
Em outros casos, você pode acabar com a corda de preenchimento sendo cortada ou até mesmo cortar a corda original:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Resultado:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Observe que esses exemplos são apenas para fins de demonstração. Na maioria dos casos, você não usaria
LPAD()
simplesmente juntar duas palavras. Para fazer isso, seria melhor usar CONCAT()
em vez de. Exemplo 4 – Um exemplo de banco de dados
Aqui está um exemplo de seleção de dados de um banco de dados e preenchimento no lado esquerdo:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Resultado:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+