Czasami trzeba uzupełnić ciąg spacjami. A może uzupełnisz go inną postacią. Czasami trzeba go podłożyć po lewej stronie. Innym razem musisz go obić po prawej stronie. A może potrzebujesz podkładki z obu stron.
Wszystkie powyższe czynności można wykonać w MySQL za pomocą LPAD()
i/lub RPAD()
funkcje ciągów.
Składnia
Składnia każdej z tych funkcji wygląda następująco:
LPAD(str,len,padstr) RPAD(str,len,padstr)
Gdzie str
to ciąg, który wymaga dopełnienia, len
jest żądaną długością ciągu w znakach po zastosowaniu całego dopełnienia, a padstr
jest ciągiem, którym należy go uzupełnić.
Przykład – LPAD()
Oto przykład dopełnienia lewej strony ciągu:
SELECT LPAD('Cat', 6, '*') AS Result;
Wynik:
+--------+ | Result | +--------+ | ***Cat | +--------+
W tym przykładzie dopełniamy ciąg znakiem gwiazdki (*
). Podajemy również 6
, co oznacza, że po zastosowaniu całego dopełnienia cały ciąg musi mieć długość 6 znaków.
Więc jeśli zmienimy 6
powiedzieć, 10
, oto co się dzieje:
SELECT LPAD('Cat', 10, '*') AS Result;
Wynik:
+------------+ | Result | +------------+ | *******Cat | +------------+
Przykład – RPAD()
RPAD()
funkcja działa dokładnie tak samo jak LPAD()
, z wyjątkiem tego, że dodaje znaki po prawej strona ciągu:
SELECT RPAD('Cat', 6, '*') AS Result;
Wynik:
+--------+ | Result | +--------+ | Cat*** | +--------+
Przykład – oba
Możesz użyć obu funkcji razem, aby dopełnić ciąg po obu stronach. Aby to zrobić, po prostu przekaż jedną funkcję do drugiej jako argument.
Tak:
SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;
Wynik:
+-----------+ | Result | +-----------+ | ***Cat*** | +-----------+
Wiele znaków
Nie jesteś ograniczony tylko do jednej postaci. Możesz uzupełnić ciąg o dowolną liczbę znaków. Oto przykład:
SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;
Wynik:
+--------------------------------+ | Result | +--------------------------------+ | She Loves Me Yeah! Yeah! Yeah! | +--------------------------------+