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

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


No MySQL, o RPAD() A função permite preencher a parte direita 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:
RPAD(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 direita de uma string com um ponto de exclamação:
SELECT RPAD('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 ponto de exclamação, podemos fazer isso:
SELECT RPAD('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 antes do ponto de exclamação:
SELECT RPAD('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 RPAD('Dog', 7, 'gone') AS Result;

Resultado:
+---------+
| Result  |
+---------+
| Doggone |
+---------+

Exemplo 3 – O segundo argumento é muito pequeno


Se o valor do segundo argumento for muito pequeno, você pode acabar sem preenchimento:
SELECT RPAD('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 
  RPAD('Dog', 6, 'gone'),
  RPAD('Dog', 2, 'gone');

Resultado:
+------------------------+------------------------+
| RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') |
+------------------------+------------------------+
| Doggon                 | Do                     |
+------------------------+------------------------+

Observe que esses exemplos são apenas para fins de demonstração. Na maioria dos casos, você não usaria RPAD() 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 do lado direito:
SELECT ArtistName, RPAD(ArtistName, 20, '.')
FROM Artists;

Resultado:
+------------------------+---------------------------+
| ArtistName             | RPAD(ArtistName, 20, '.') |
+------------------------+---------------------------+
| Iron Maiden            | Iron Maiden.........      |
| AC/DC                  | AC/DC...............      |
| Allan Holdsworth       | Allan Holdsworth....      |
| Buddy Rich             | Buddy Rich..........      |
| Devin Townsend         | Devin Townsend......      |
| Jim Reeves             | Jim Reeves..........      |
| Tom Jones              | Tom Jones...........      |
| Maroon 5               | Maroon 5............      |
| The Script             | The Script..........      |
| Lit                    | Lit.................      |
| Black Sabbath          | Black Sabbath.......      |
| Michael Learns to Rock | Michael Learns to Ro      |
| Carabao                | Carabao.............      |
| Karnivool              | Karnivool...........      |
| Birds of Tokyo         | Birds of Tokyo......      |
| Bodyjar                | Bodyjar.............      |
+------------------------+---------------------------+