
Funkcja LPAD
w SQL to jedno z tych małych narzędzi, które mogą okazać się nieocenione, zwłaszcza gdy trzeba dopasować długość tekstu, dodać wiodące znaki czy przygotować dane do dalszej analizy. W tym artykule pokażę, jak działa LPAD
w języku SQL oraz przedstawię praktyczne przykłady jego zastosowania.
Co to jest funkcja LPAD?
Funkcja LPAD
(od ang. Left Padding) służy do uzupełniania wartości tekstowych z lewej strony określonym znakiem tak, aby osiągnęły zadaną długość. Przydatna jest przede wszystkim w sytuacjach, gdy dane muszą być zgodne z konkretnym formatem, na przykład numerami identyfikacyjnymi czy kodami produktów.
Podstawowa składnia funkcji LPAD
wygląda tak:
LPAD(tekst, długość, znak)
- tekst – ciąg znaków, który chcemy uzupełnić
- długość – docelowa długość wyniku
- znak – znak, którym będziemy uzupełniać wartość z lewej strony
Przykłady zastosowania funkcji LPAD
Przyjrzyjmy się kilku przykładom, które pokażą różne sposoby wykorzystania tej funkcji.
Dodawanie zer do liczb
Załóżmy, że mamy tabelę z identyfikatorami klientów, ale chcemy, aby każdy identyfikator miał przynajmniej 6 znaków, a brakujące miejsca uzupełniono zerami.
SELECT LPAD(id, 6, '0') AS sformatowany_id
FROM klienci;
Jeśli w kolumnie id
znajdują się wartości:
id | sformatowany_id |
---|---|
123 | 000123 |
45 | 000045 |
7890 | 007890 |
Formatowanie numerów telefonów
Czasem dane przechowujemy w formacie numerycznym i brakuje w nich zer wiodących. Dzięki LPAD
możemy sprawić, że numery będą miały jednolity format.
SELECT LPAD(numer_telefonu, 9, '0') AS sformatowany_numer
FROM klienci;
Jeśli w kolumnie numer_telefonu
znajdowałyby się wartości jak 1234567
, to wynik działania funkcji sprawiłby, że format zostałby poprawiony do 001234567
.
Tworzenie kodów produktów
Załóżmy, że produkty mają unikalne numery seryjne, ale ich długość jest różna. Aby utrzymać jednolity format, możemy dodać zera na początku:
SELECT LPAD(kod_produktu, 8, '0') AS sformatowany_kod
FROM produkty;
Co się stanie, jeśli tekst będzie dłuższy niż docelowa długość?
Jeśli wartość wejściowa będzie dłuższa niż określona długość, SQL po prostu obetnie jej początkowe znaki. Sprawdźmy przykład:
SELECT LPAD('ABCDEFG', 5, '*');
Wynik:
ABCDE
Jak widać, funkcja zwróciła tylko pierwsze pięć znaków, obcinając pozostałe.
LPAD vs. RPAD – jaka jest różnica?
Warto też wspomnieć o funkcji RPAD
, która działa podobnie do LPAD
, ale dodaje znaki z prawej strony:
SELECT RPAD('123', 5, '0');
Wynik:
12300
Z kolei LPAD
dla tej samej wartości zwróciłby:
00123
Kiedy warto stosować LPAD?
Funkcja LPAD
przydaje się w wielu sytuacjach:
- Formatowanie numerów identyfikacyjnych.
- Utrzymanie jednolitych kodów referencyjnych.
- Przygotowanie danych do eksportu w określonym formacie.
- Obsługa danych finansowych, np. zamiana liczb na stałą szerokość pola.
Podsumowanie
Funkcja LPAD
w SQL to proste, ale bardzo użyteczne narzędzie do formatowania tekstu i liczb. Dzięki niej możemy zadbać o spójność danych, ich czytelność i odpowiednie przygotowanie do dalszego przetwarzania. Warto pamiętać, że jeśli długość oryginalnego tekstu jest większa niż podana docelowa długość, SQL przytnie go automatycznie. LPAD to funkcja, którą każdy analityk czy programista SQL powinien mieć w swoim zestawie narzędzi.
Inny ciekawy artykuł:
Jak działa RIGHT 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.