I MySQL, LPAD()
funktionen låter dig fylla den vänstra delen av en sträng med ett eller flera tecken.
Så här fungerar det är att du anger strängen som ska fyllas, längden på stoppningen, samt strängen av tecken som ska användas för stoppningen.
Syntax
Syntaxen ser ut så här:
LPAD(str,len,padstr)
Där str
är strängen att fylla på, len
är den önskade längden på strängen i tecken efter att all utfyllnad har tillämpats, och padstr
är strängen att stoppa den med.
Exempel 1 – Grundläggande användning
Här är ett exempel på att fylla den vänstra delen av en sträng med asterisktecknet:
SELECT LPAD('Cat', 6, '*') AS Result;
Resultat:
+--------+ | Result | +--------+ | ***Cat | +--------+
I det här exemplet är det andra argumentet 6
, vilket innebär att hela strängen måste vara 6 tecken lång efter att all utfyllnad har applicerats. Det tredje argumentet anger vilket tecken som ska användas för utfyllnaden.
Så i det här fallet, om vi bara vill ha en asterisk, kan vi göra detta:
SELECT LPAD('Cat', 4, '*') AS Result;
Resultat:
+--------+ | Result | +--------+ | *Cat | +--------+
Exempel 2 – Flera tecken
Du är inte begränsad till en enda karaktär. Du kan fylla på en sträng med valfritt antal tecken.
Till exempel kan vi ta det föregående exemplet och lägga till ett mellanslag efter asterisken:
SELECT LPAD('Cat', 5, '* ') AS Result;
Resultat:
+--------+ | Result | +--------+ | * Cat | +--------+
Observera att vi också ökade antalet tecken till 5
för att få plats med den extra karaktären.
Här är ett annat exempel med olika tecken:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Resultat:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Exempel 3 – Andra argumentet är för litet
Om värdet på det andra argumentet är för litet kan du sluta utan utfyllnad:
SELECT LPAD('Cat', 3, '*') AS Result;
Resultat:
+--------+ | Result | +--------+ | Cat | +--------+
I andra fall kan du sluta med att stoppningssträngen klipps kort, eller till och med klippa den ursprungliga strängen kort:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Resultat:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Observera att dessa exempel endast är för demonstrationsändamål. I de flesta fall skulle du inte använda LPAD()
att helt enkelt sammanfoga två ord. För att göra det är det bättre att använda CONCAT()
istället.
Exempel 4 – Ett databasexempel
Här är ett exempel på hur du väljer data från en databas och fyller på den på dess vänstra sida:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Resultat:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+