In MySQL is de LPAD()
Met deze functie kunt u het linkergedeelte van een tekenreeks opvullen met een of meer tekens.
De manier waarop het werkt, is dat u de tekenreeks opgeeft die moet worden ingevuld, de lengte van de opvulling en de tekenreeks die voor de opvulling moet worden gebruikt.
Syntaxis
De syntaxis gaat als volgt:
LPAD(str,len,padstr)
Waar str
is de tekenreeks die moet worden ingevuld, len
is de gewenste lengte van de tekenreeks in tekens nadat alle opvulling is toegepast, en padstr
is de tekenreeks om het mee op te vullen.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld van het opvullen van het linkerdeel van een tekenreeks met het asterisk-teken:
SELECT LPAD('Cat', 6, '*') AS Result;
Resultaat:
+--------+ | Result | +--------+ | ***Cat | +--------+
In dit voorbeeld is het tweede argument 6
, wat betekent dat de hele string uiteindelijk 6 tekens lang moet zijn nadat alle opvulling is toegepast. Het derde argument specificeert welk teken moet worden gebruikt voor de opvulling.
Dus in dit geval, als we maar één sterretje willen, kunnen we dit doen:
SELECT LPAD('Cat', 4, '*') AS Result;
Resultaat:
+--------+ | Result | +--------+ | *Cat | +--------+
Voorbeeld 2 – Meerdere tekens
Je bent niet beperkt tot slechts een enkel teken. U kunt een string met een willekeurig aantal tekens opvullen.
We kunnen bijvoorbeeld het vorige voorbeeld nemen en een spatie toevoegen na de asterisk:
SELECT LPAD('Cat', 5, '* ') AS Result;
Resultaat:
+--------+ | Result | +--------+ | * Cat | +--------+
Merk op dat we ook het aantal tekens hebben verhoogd tot 5
om plaats te bieden aan het extra karakter.
Hier is nog een voorbeeld waarin verschillende tekens worden gebruikt:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Resultaat:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Voorbeeld 3 – Tweede argument is te klein
Als de waarde van het tweede argument te klein is, kan het zijn dat u geen opvulling krijgt:
SELECT LPAD('Cat', 3, '*') AS Result;
Resultaat:
+--------+ | Result | +--------+ | Cat | +--------+
In andere gevallen zou je kunnen eindigen met het afknippen van de opvulstring, of zelfs de originele string kort:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Resultaat:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Merk op dat deze voorbeelden alleen voor demonstratiedoeleinden zijn. In de meeste gevallen zou u LPAD()
. niet gebruiken om eenvoudig twee woorden samen te voegen. Om dat te doen, kunt u beter CONCAT()
. gebruiken in plaats daarvan.
Voorbeeld 4 – Een databasevoorbeeld
Hier is een voorbeeld van het selecteren van gegevens uit een database en deze aan de linkerkant opvullen:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Resultaat:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+