Někdy je potřeba doplnit řetězec mezerami. Nebo to možná vycpáš jinou postavou. Někdy je potřeba to podložit vlevo. Jindy jej musíte podložit vpravo. Nebo ji možná budete muset vycpávat na obou stranách.
Vše výše uvedené lze provést v MySQL pomocí LPAD()
a/nebo RPAD()
řetězcové funkce.
Syntaxe
Syntaxe každé z těchto funkcí vypadá takto:
LPAD(str,len,padstr) RPAD(str,len,padstr)
Kde str
je řetězec, který potřebuje výplň, 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 – LPAD()
Zde je příklad vyplnění levé strany řetězce:
SELECT LPAD('Cat', 6, '*') AS Result;
Výsledek:
+--------+ | Result | +--------+ | ***Cat | +--------+
V tomto příkladu doplníme řetězec znakem hvězdičky (*
). Uvádíme také 6
, což znamená, že po použití všech výplní musí mít celý řetězec 6 znaků.
Pokud tedy změníme 6
říct, 10
, stane se toto:
SELECT LPAD('Cat', 10, '*') AS Result;
Výsledek:
+------------+ | Result | +------------+ | *******Cat | +------------+
Příklad – RPAD()
RPAD()
funkce funguje úplně stejně jako LPAD()
, s tou výjimkou, že přidá znaky vpravo strana řetězce:
SELECT RPAD('Cat', 6, '*') AS Result;
Výsledek:
+--------+ | Result | +--------+ | Cat*** | +--------+
Příklad – oba
Obě funkce můžete použít společně k vyložení řetězce na obou stranách. Chcete-li to provést, jednoduše předejte jednu funkci druhé jako argument.
Takhle:
SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;
Výsledek:
+-----------+ | Result | +-----------+ | ***Cat*** | +-----------+
Více znaků
Nejste omezeni pouze na jednu postavu. Řetězec můžete vyplnit libovolným počtem znaků. Zde je příklad:
SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;
Výsledek:
+--------------------------------+ | Result | +--------------------------------+ | She Loves Me Yeah! Yeah! Yeah! | +--------------------------------+