W MySQL funkcja RPAD()
funkcja umożliwia uzupełnienie prawej części 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:
RPAD(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 wypełnienia prawej części ciągu znakiem wykrzyknika:
SELECT RPAD('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 jednego wykrzyknika, możemy to zrobić:
SELECT RPAD('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ę przed wykrzyknikiem:
SELECT RPAD('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 RPAD('Dog', 7, 'gone') AS Result;
Wynik:
+---------+ | Result | +---------+ | Doggone | +---------+
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 RPAD('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 RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Wynik:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
Pamiętaj, że te przykłady służą wyłącznie do celów demonstracyjnych. W większości przypadków nie użyjesz RPAD()
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 prawej stronie:
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Wynik:
+------------------------+---------------------------+ | 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............. | +------------------------+---------------------------+