W SQLite możemy użyć PRINTF()
funkcja lub FORMAT()
funkcja formatowania liczb z wiodącymi zerami.
Przykład
SELECT PRINTF('%03d', 7);
Wynik:
007
Znak procentu (%
) wskazuje, że następuje podstawienie.
0
wskazuje, że SQLite powinien poprzedzać tyle 0
znaków na podstawienia liczbowe, jeśli to konieczne, aby rozszerzyć wartość do określonej szerokości.
d
wskazuje, że argument jest liczbą całkowitą ze znakiem, która jest wyświetlana w postaci dziesiętnej (w przeciwieństwie do szesnastkowej, ósemkowej itp.).
Jeśli więc chcielibyśmy mieć więcej wiodących zer, możemy zwiększyć 3
do większej liczby:
SELECT PRINTF('%09d', 7);
Wynik:
000000007
W przypadku liczb całkowitych możemy dołączyć przecinek jako separator grup:
SELECT PRINTF('%0,9d', 72345);
Wynik:
000,072,345
FORMAT()
Funkcja
SQLite 3.38.0 (wydany 22 lutego 2022) zmienił nazwę PRINTF()
funkcja FORMAT()
. Oryginalny PRINTF()
nazwa jest zachowywana jako alias dla wstecznej kompatybilności.
Dlatego pierwszy przykład powyżej można zmienić na następujący:
SELECT FORMAT('%2d%%', 17);
Wynik:
17%