W MySQL funkcja LPAD()
funkcja pozwala uzupełnić lewą część ciągu jednym lub kilkoma znakami.
Sposób, w jaki to działa, polega na określeniu ciągu do uzupełnienia, długości dopełnienia, a także ciągu znaków do wykorzystania w dopełnieniu.
Składnia
Składnia wygląda tak:
LPAD(str,len,padstr)
Gdzie str
jest ciągiem do wypeł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 1 – Podstawowe użycie
Oto przykład dopełnienia lewej części ciągu znakiem gwiazdki:
SELECT LPAD('Cat', 6, '*') AS Result;
Wynik:
+--------+ | Result | +--------+ | ***Cat | +--------+
W tym przykładzie drugim argumentem jest 6
, co oznacza, że po zastosowaniu całego dopełnienia cały ciąg musi mieć długość 6 znaków. Trzeci argument określa, którego znaku użyć do wypełnienia.
Więc w tym przypadku, jeśli chcemy tylko jednej gwiazdki, możemy to zrobić:
SELECT LPAD('Cat', 4, '*') AS Result;
Wynik:
+--------+ | Result | +--------+ | *Cat | +--------+
Przykład 2 – Wiele znaków
Nie jesteś ograniczony tylko do jednej postaci. Możesz uzupełnić ciąg o dowolną liczbę znaków.
Na przykład możemy wziąć poprzedni przykład i dodać spację po gwiazdki:
SELECT LPAD('Cat', 5, '* ') AS Result;
Wynik:
+--------+ | Result | +--------+ | * Cat | +--------+
Zauważ, że zwiększyliśmy również liczbę znaków do 5
aby pomieścić dodatkowy znak.
Oto kolejny przykład z użyciem różnych znaków:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Wynik:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Przykład 3 – drugi argument jest za mały
Jeśli wartość drugiego argumentu jest zbyt mała, możesz skończyć bez dopełnienia:
SELECT LPAD('Cat', 3, '*') AS Result;
Wynik:
+--------+ | Result | +--------+ | Cat | +--------+
W innych przypadkach możesz skończyć z skróceniem sznurka dopełniającego, a nawet skróceniem oryginalnego sznurka:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Wynik:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Pamiętaj, że te przykłady służą wyłącznie do celów demonstracyjnych. W większości przypadków nie użyjesz LPAD()
po prostu połączyć dwa słowa. Aby to zrobić, lepiej użyj CONCAT()
zamiast tego.
Przykład 4 – Przykład bazy danych
Oto przykład wybierania danych z bazy danych i uzupełniania ich po lewej stronie:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Wynik:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+