Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So füllen Sie eine Zeichenfolge mit führenden/nachgestellten Zeichen in MySQL auf – LPAD(), RPAD()

Manchmal müssen Sie eine Zeichenfolge mit Leerzeichen auffüllen. Oder vielleicht füllen Sie es mit einem anderen Zeichen auf. Manchmal müssen Sie es auf der linken Seite auffüllen. In anderen Fällen müssen Sie es rechts auffüllen. Oder vielleicht müssen Sie es auf beiden Seiten polstern.

All dies kann in MySQL mit LPAD() durchgeführt werden und/oder RPAD() Zeichenfolgenfunktionen.

Syntax

Die Syntax jeder dieser Funktionen lautet wie folgt:

LPAD(str,len,padstr)
RPAD(str,len,padstr)

Wobei str ist die Zeichenfolge, die aufgefüllt werden muss, len die gewünschte Länge der Zeichenfolge in Zeichen ist, nachdem alle Auffüllungen angewendet wurden, und padstr ist die Zeichenfolge, mit der es aufgefüllt werden soll.

Beispiel – LPAD()

Hier ist ein Beispiel für das Auffüllen der linken Seite einer Zeichenfolge:

SELECT LPAD('Cat', 6, '*') AS Result;

Ergebnis:

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

In diesem Beispiel füllen wir die Zeichenfolge mit dem Sternchen auf (* ). Wir geben auch 6 an , was bedeutet, dass die gesamte Zeichenfolge 6 Zeichen lang sein muss, nachdem alle Auffüllungen angewendet wurden.

Wenn wir also die 6 ändern also 10 , Folgendes passiert:

SELECT LPAD('Cat', 10, '*') AS Result;

Ergebnis:

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

Beispiel – RPAD()

Das RPAD() Funktion funktioniert genauso wie LPAD() , mit der Ausnahme, dass es die Zeichen rechts hinzufügt Seite der Zeichenfolge:

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

Ergebnis:

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

Beispiel – Beides

Sie können beide Funktionen zusammen verwenden, um eine Zeichenfolge auf beiden Seiten aufzufüllen. Dazu übergeben Sie einfach eine Funktion als Argument an die andere.

So:

SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;

Ergebnis:

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

Mehrere Zeichen

Sie sind nicht auf nur einen einzigen Charakter beschränkt. Sie können eine Zeichenfolge mit einer beliebigen Anzahl von Zeichen auffüllen. Hier ist ein Beispiel:

SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;

Ergebnis:

+--------------------------------+
| Result                         |
+--------------------------------+
| She Loves Me Yeah! Yeah! Yeah! |
+--------------------------------+