In MySQL, il LPAD()
La funzione permette di riempire la parte sinistra 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:
LPAD(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 sinistra di una stringa con il carattere asterisco:
SELECT LPAD('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 asterisco, possiamo farlo:
SELECT LPAD('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 dopo l'asterisco:
SELECT LPAD('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 LPAD('!', 15, 'Blah ') AS Result;
Risultato:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Esempio 3:il secondo argomento è troppo piccolo
Se il valore del secondo argomento è troppo piccolo, potresti finire senza padding:
SELECT LPAD('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 LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Risultato:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Si noti che questi esempi sono solo a scopo dimostrativo. Nella maggior parte dei casi, non useresti LPAD()
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 sinistro:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Risultato:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+