V MySQL, LPAD()
Funkce umožňuje doplnění levé části řetězce jedním nebo více znaky.
Funguje to tak, že určíte řetězec, který se má vysadit, délku odsazení a také řetězec znaků, který se má pro vyplnění použít.
Syntaxe
Syntaxe vypadá takto:
LPAD(str,len,padstr)
Kde str
je řetězec k vyplnění, len
je požadovaná délka řetězce ve znacích po použití všech výplní a padstr
je řetězec, kterým se to má podložit.
Příklad 1 – Základní použití
Zde je příklad vyplnění levé části řetězce znakem hvězdičky:
SELECT LPAD('Cat', 6, '*') AS Result;
Výsledek:
+--------+ | Result | +--------+ | ***Cat | +--------+
V tomto příkladu je druhý argument 6
, což znamená, že po použití všech výplní musí mít celý řetězec 6 znaků. Třetí argument určuje, který znak se má použít pro výplň.
Takže v tomto případě, pokud chceme pouze jednu hvězdičku, můžeme udělat toto:
SELECT LPAD('Cat', 4, '*') AS Result;
Výsledek:
+--------+ | Result | +--------+ | *Cat | +--------+
Příklad 2 – Více znaků
Nejste omezeni pouze na jednu postavu. Řetězec můžete vyplnit libovolným počtem znaků.
Například bychom mohli vzít předchozí příklad a přidat mezeru za hvězdičku:
SELECT LPAD('Cat', 5, '* ') AS Result;
Výsledek:
+--------+ | Result | +--------+ | * Cat | +--------+
Všimněte si, že jsme také zvýšili počet znaků na 5
aby se přizpůsobil znaku navíc.
Zde je další příklad použití různých znaků:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Výsledek:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Příklad 3 – Druhý argument je příliš malý
Pokud je hodnota druhého argumentu příliš malá, můžete skončit bez vyplnění:
SELECT LPAD('Cat', 3, '*') AS Result;
Výsledek:
+--------+ | Result | +--------+ | Cat | +--------+
V jiných případech můžete skončit se zkrácením vycpávkového provázku nebo dokonce zkrátit původní strunu:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Výsledek:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Upozorňujeme, že tyto příklady slouží pouze pro demonstrační účely. Ve většině případů byste nepoužili LPAD()
jednoduše spojit dvě slova dohromady. K tomu je lepší použít CONCAT()
místo toho.
Příklad 4 – Příklad databáze
Zde je příklad výběru dat z databáze a jejich vložení na levou stranu:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Výsledek:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+