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

Funktionsweise der LPAD()-Funktion in MySQL

In MySQL das LPAD() Mit dieser Funktion können Sie den linken Teil einer Zeichenfolge mit einem oder mehreren Zeichen auffüllen.

So funktioniert es:Sie geben die aufzufüllende Zeichenfolge, die Länge der Auffüllung sowie die für die Auffüllung zu verwendende Zeichenkette an.

Syntax

Die Syntax sieht so aus:

LPAD(str,len,padstr)

Wobei str ist die aufzufüllende Zeichenfolge, 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 1 – Grundlegende Verwendung

Hier ist ein Beispiel für das Auffüllen des linken Teils einer Zeichenfolge mit dem Sternchen:

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

Ergebnis:

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

In diesem Beispiel ist das zweite Argument 6 , was bedeutet, dass die gesamte Zeichenfolge 6 Zeichen lang sein muss, nachdem alle Auffüllungen angewendet wurden. Das dritte Argument gibt an, welches Zeichen zum Auffüllen verwendet werden soll.

Wenn wir also in diesem Fall nur ein Sternchen wollen, können wir Folgendes tun:

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

Ergebnis:

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

Beispiel 2 – 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.

Zum Beispiel könnten wir das vorherige Beispiel nehmen und ein Leerzeichen nach dem Stern hinzufügen:

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

Ergebnis:

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

Beachten Sie, dass wir auch die Zeichenanzahl auf 5 erhöht haben um das zusätzliche Zeichen unterzubringen.

Hier ist ein weiteres Beispiel mit anderen Zeichen:

SELECT LPAD('!', 15, 'Blah ') AS Result;

Ergebnis:

+-----------------+
| Result          |
+-----------------+
| Blah Blah Blah! |
+-----------------+

Beispiel 3 – Zweites Argument ist zu klein

Wenn der Wert des zweiten Arguments zu klein ist, erhalten Sie möglicherweise kein Padding:

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

Ergebnis:

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

In anderen Fällen könnten Sie am Ende damit enden, dass der Füllstring gekürzt wird, oder Sie könnten sogar den Originalstring kürzen:

SELECT 
  LPAD('Cat', 6, 'Puddy '),
  LPAD('Cat', 2, 'Puddy ');

Ergebnis:

+--------------------------+--------------------------+
| LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') |
+--------------------------+--------------------------+
| PudCat                   | Ca                       |
+--------------------------+--------------------------+

Beachten Sie, dass diese Beispiele nur zu Demonstrationszwecken dienen. In den meisten Fällen würden Sie LPAD() nicht verwenden einfach zwei Wörter miteinander verbinden. Verwenden Sie dazu am besten CONCAT() stattdessen.

Beispiel 4 – Ein Datenbankbeispiel

Hier ist ein Beispiel für die Auswahl von Daten aus einer Datenbank und das Auffüllen auf der linken Seite:

SELECT Genre, LPAD(Genre, 10, '.')
FROM Genres;

Ergebnis:

+---------+----------------------+
| Genre   | LPAD(Genre, 10, '.') |
+---------+----------------------+
| Rock    | ......Rock           |
| Jazz    | ......Jazz           |
| Country | ...Country           |
| Pop     | .......Pop           |
| Blues   | .....Blues           |
| Hip Hop | ...Hip Hop           |
| Rap     | .......Rap           |
| Punk    | ......Punk           |
+---------+----------------------+