
Jak działa RPAD w języku SQL? Przykłady zastosowania
RPAD to jedna z funkcji dostępnych w SQL, która służy do uzupełniania wartości tekstowych znakami z prawej strony do określonej długości. Jest to bardzo przydatne w wielu scenariuszach, zwłaszcza gdy musimy dostosować formatowanie danych wyjściowych. W tym artykule wyjaśniam, jak działa RPAD, kiedy warto jej używać i prezentuję konkretne przykłady.
Co to jest RPAD?
Funkcja RPAD
(ang. Right Padding) pozwala na rozszerzenie ciągu znaków poprzez dodanie określonego wzorca na końcu, aż do osiągnięcia wyznaczonej długości. Składnia tej funkcji zazwyczaj wygląda następująco:
RPAD(ciąg_znaków, długość, znak_uzupełnienia)
- ciąg_znaków – tekst, który chcemy uzupełnić.
- długość – docelowa długość wynikowego ciągu znaków.
- znak_uzupełnienia – opcjonalny znak lub ciąg znaków, którym uzupełniamy wartość (domyślnie spacja).
Przykłady zastosowania RPAD
Teraz przejdźmy do przykładów praktycznych. Zakładam, że pracujemy na bazie Oracle lub MySQL, ponieważ obie te bazy obsługują funkcję RPAD
.
Podstawowe zastosowanie RPAD
Najprostszy sposób użycia funkcji wygląda tak:
SELECT RPAD('SQL', 10, '*') FROM dual;
Rezultat:
SQL*******
Wartość „SQL” została uzupełniona gwiazdkami do długości 10 znaków.
Uzupełnianie wartości kolumn w tabeli
Załóżmy, że mamy tabelę produkty
i chcemy, aby nazwy produktów zawsze miały 15 znaków (uzupełnione spacjami):
SELECT RPAD(nazwa, 15, ' ') AS nazwa_sformatowana FROM produkty;
To rozwiązanie może się przydać np. w raportach tekstowych.
Tworzenie stałej szerokości pól w raportach
Jeśli generujemy raporty w formie tekstowej i chcemy, żeby każda kolumna miała równą szerokość, RPAD
sprawdzi się znakomicie.
SELECT
RPAD(nazwa, 20, ' ') ||
RPAD(kategoria, 15, ' ') ||
RPAD(cena::TEXT, 10, ' ')
FROM produkty;
Dzięki temu każdy wiersz raportu będzie miał stałą długość i będzie poprawnie wyrównany.
Porównanie RPAD z LPAD
Funkcja RPAD
ma swoją „lustrzaną” wersję – LPAD
, która działa identycznie, ale dodaje znaki na początku ciągu. Oto krótkie porównanie:
Funkcja | Przykład | Wynik |
---|---|---|
RPAD | RPAD('abc', 6, '-') |
abc— |
LPAD | LPAD('abc', 6, '-') |
—abc |
Ograniczenia funkcji RPAD
Mimo że RPAD jest bardzo przydatną funkcją, warto wiedzieć o kilku ograniczeniach:
- Jeśli oryginalna wartość jest dłuższa niż zadana długość, funkcja przytnie ją do określonego rozmiaru.
- Jeśli znak uzupełnienia składa się z więcej niż jednego znaku, SQL będzie wielokrotnie dodawać go do wyniku.
- Niektóre bazy danych mogą mieć różne implementacje funkcji, więc warto sprawdzić dokumentację.
Podsumowanie
RPAD w języku SQL to świetne narzędzie do manipulacji tekstem, które pozwala na jednolite formatowanie danych tekstowych. Szczególnie przydaje się w raportach, generowaniu plików tekstowych o stałej szerokości oraz estetycznym prezentowaniu wyników zapytań. Warto znać tę funkcję i stosować ją tam, gdzie formatowanie tekstu ma duże znaczenie.
Inny ciekawy artykuł:
Jak działa LPAD w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.