KategorieBazy danych

[MySQL] Jak dodać zera wiodące do wartości w określonej kolumnie?

Dodawanie zer wiodących jest dość popularne w przypadku wszelkich dokumentów z numeracją np. faktury, korekty. Jakiś czas temu pisałem w artykule jak wykonać tę operację w PHP, jednak podobnie jak wiele innych operacji możemy wykonać i tę bezpośrednio z poziomu bazy danych, a posłuży nam do tego funkcja wbudowana LPAD.

Zakładając że tabela zawiera przykładowe dane:

+----+-------+
| id | nr    |
+----+-------+
| 1  | 3     |
| 2  | 321   |
| 3  | 7563  |
| 4  | 2     |
| 5  | 79    |
| 6  | 961   |
+----+-------+

Zaś my chcemy aby kolumna „nr” zwracała nam numer mający 5 znaków, jeśli zaś ich nie ma to ma zostać dopełniona zerami na początku. Poniżej przedstawiam oczekiwany rezultat działania.

+----+-------+
| id | nr    |
+----+-------+
| 1  | 00003 |
| 2  | 00321 |
| 3  | 07563 |
| 4  | 00002 |
| 5  | 00079 |
| 6  | 00961 |
+----+-------+

Aby osiągnąć taki efekt należy wykorzystać funkcję LPAD, gdzie jako pierwszy parametr podajemy nazwę kolumny, drugi to informacja do ilu pozycji należy uzupełnić kolumnę, ostatni parametr to informacja jakim znakiem mają zostać uzupełnione brakujące pozycje.

SELECT id, LPAD(nr, 5, 0) AS nr FROM tabela

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.