V MySQL, RPAD()
Funkce umožňuje vyplnit pravou část ř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:
RPAD(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í pravé části řetězce vykřičníkem:
SELECT RPAD('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 jeden vykřičník, můžeme udělat toto:
SELECT RPAD('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 před vykřičník:
SELECT RPAD('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 RPAD('Dog', 7, 'gone') AS Result;
Výsledek:
+---------+ | Result | +---------+ | Doggone | +---------+
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 RPAD('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 RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Výsledek:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
Upozorňujeme, že tyto příklady slouží pouze pro demonstrační účely. Ve většině případů byste nepoužili RPAD()
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 pravou stranu:
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Výsledek:
+------------------------+---------------------------+ | ArtistName | RPAD(ArtistName, 20, '.') | +------------------------+---------------------------+ | Iron Maiden | Iron Maiden......... | | AC/DC | AC/DC............... | | Allan Holdsworth | Allan Holdsworth.... | | Buddy Rich | Buddy Rich.......... | | Devin Townsend | Devin Townsend...... | | Jim Reeves | Jim Reeves.......... | | Tom Jones | Tom Jones........... | | Maroon 5 | Maroon 5............ | | The Script | The Script.......... | | Lit | Lit................. | | Black Sabbath | Black Sabbath....... | | Michael Learns to Rock | Michael Learns to Ro | | Carabao | Carabao............. | | Karnivool | Karnivool........... | | Birds of Tokyo | Birds of Tokyo...... | | Bodyjar | Bodyjar............. | +------------------------+---------------------------+