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