Mysql
 sql >> Database >  >> RDS >> Mysql

Come funziona la funzione RPAD() in MySQL

In MySQL, il RPAD() La funzione permette di riempire la parte destra di una stringa con uno o più caratteri.

Il modo in cui funziona è specificare la stringa da riempire, la lunghezza del riempimento e la stringa di caratteri da utilizzare per il riempimento.

Sintassi

La sintassi è questa:

RPAD(str,len,padstr)

Dove str è la stringa da riempire, len è la lunghezza desiderata della stringa in caratteri dopo l'applicazione di tutto il riempimento e padstr è la stringa con cui riempirlo.

Esempio 1 – Utilizzo di base

Ecco un esempio di riempimento della parte destra di una stringa con un punto esclamativo:

SELECT RPAD('Cat', 6, '!') AS Result;

Risultato:

+--------+
| Result |
+--------+
| Cat!!! |
+--------+

In questo esempio il secondo argomento è 6 , il che significa che l'intera stringa deve essere lunga 6 caratteri dopo che è stata applicata tutta la spaziatura interna. Il terzo argomento specifica quale carattere utilizzare per il riempimento.

Quindi in questo caso, se vogliamo solo un punto esclamativo, possiamo farlo:

SELECT RPAD('Cat', 4, '!') AS Result;

Risultato:

+--------+
| Result |
+--------+
| Cat!   |
+--------+

Esempio 2:più caratteri

Non sei limitato a un solo personaggio. Puoi riempire una stringa con qualsiasi numero di caratteri.

Ad esempio, potremmo prendere l'esempio precedente e aggiungere uno spazio prima del punto esclamativo:

SELECT RPAD('Cat', 5, ' !') AS Result;

Risultato:

+--------+
| Result |
+--------+
| Cat !  |
+--------+

Nota che abbiamo anche aumentato il conteggio dei caratteri a 5 per accogliere il personaggio in più.

Ecco un altro esempio che utilizza caratteri diversi:

SELECT RPAD('Dog', 7, 'gone') AS Result;

Risultato:

+---------+
| Result  |
+---------+
| Doggone |
+---------+

Esempio 3:il secondo argomento è troppo piccolo

Se il valore del secondo argomento è troppo piccolo, potresti finire senza padding:

SELECT RPAD('Cat', 3, '!') AS Result;

Risultato:

+--------+
| Result |
+--------+
| Cat    |
+--------+

In altri casi, potresti finire con il cordino di riempimento corto o addirittura accorciare il cordino originale:

SELECT 
  RPAD('Dog', 6, 'gone'),
  RPAD('Dog', 2, 'gone');

Risultato:

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

Si noti che questi esempi sono solo a scopo dimostrativo. Nella maggior parte dei casi, non useresti RPAD() per unire semplicemente due parole insieme. Per farlo, faresti meglio a usare CONCAT() invece.

Esempio 4:un esempio di database

Ecco un esempio di selezione dei dati da un database e riempimento sul lato destro:

SELECT ArtistName, RPAD(ArtistName, 20, '.')
FROM Artists;

Risultato:

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