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

Come funziona la funzione LPAD() in MySQL

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