Jak działa LPAD w języku SQL? Przykłady zastosowania

Jak działa LPAD w języku SQL? Przykłady zastosowania

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:

  1. Formatowanie numerów identyfikacyjnych.
  2. Utrzymanie jednolitych kodów referencyjnych.
  3. Przygotowanie danych do eksportu w określonym formacie.
  4. 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

KajoDataSpace