Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como a função LPAD() funciona no MySQL


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           |
+---------+----------------------+