A volte è necessario riempire una stringa con spazi. O forse lo riempirai con un altro personaggio. A volte è necessario riempirlo a sinistra. Altre volte è necessario imbottirlo a destra. O forse devi imbottirlo su entrambi i lati.
Tutto quanto sopra può essere fatto in MySQL usando LPAD() e/o RPAD() funzioni di stringa.
Sintassi
La sintassi di ciascuna di queste funzioni è la seguente:
LPAD(str,len,padstr) RPAD(str,len,padstr)
Dove str è la stringa che deve essere riempita, len è la lunghezza desiderata della stringa in caratteri dopo l'applicazione di tutto il riempimento e padstr è la stringa con cui riempirlo.
Esempio – LPAD()
Ecco un esempio di riempimento del lato sinistro di una stringa:
SELECT LPAD('Cat', 6, '*') AS Result;
Risultato:
+--------+ | Result | +--------+ | ***Cat | +--------+
In questo esempio riempiamo la stringa con il carattere asterisco (* ). Specifichiamo anche 6 , il che significa che l'intera stringa deve essere lunga 6 caratteri dopo che è stata applicata tutta la spaziatura interna.
Quindi se cambiamo il 6 per dire, 10 , ecco cosa succede:
SELECT LPAD('Cat', 10, '*') AS Result;
Risultato:
+------------+ | Result | +------------+ | *******Cat | +------------+
Esempio – RPAD()
Il RPAD() la funzione funziona esattamente come LPAD() , con l'eccezione che aggiunge i caratteri a destra lato della stringa:
SELECT RPAD('Cat', 6, '*') AS Result;
Risultato:
+--------+ | Result | +--------+ | Cat*** | +--------+
Esempio:entrambi
È possibile utilizzare entrambe le funzioni insieme per riempire una stringa su entrambi i lati. Per fare ciò, passa semplicemente una funzione all'altra come argomento.
In questo modo:
SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;
Risultato:
+-----------+ | Result | +-----------+ | ***Cat*** | +-----------+
Più caratteri
Non sei limitato a un solo personaggio. Puoi riempire una stringa con qualsiasi numero di caratteri. Ecco un esempio:
SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;
Risultato:
+--------------------------------+ | Result | +--------------------------------+ | She Loves Me Yeah! Yeah! Yeah! | +--------------------------------+