Oto dwa sposoby formatowania liczby jako wartości procentowej w SQLite.
Opcja 1:PRINTF()
lub FORMAT()
Funkcja
Możemy użyć PRINTF()
lub FORMAT()
funkcja dodawania znaku procentu do liczby:
SELECT PRINTF('%2d%%', 17);
Wynik:
17%
Podczas korzystania z tej funkcji znak procentu ma specjalne znaczenie w ciągu formatującym (wskazuje, że następuje podstawienie). Jeśli chcemy, aby wynik zawierał rzeczywisty znak procentu, musimy użyć dwóch znaków procentu w ciągu formatu.
Oto kilka przykładów:
SELECT
PRINTF('%02d%%', 3.45) AS "1",
PRINTF('%2.2f%%', 3) AS "2",
PRINTF('%1.2f%%', 3.456) AS "3",
PRINTF('%2.3f%%', 3.456) AS "4";
Wynik:
1 2 3 4 --- ----- ----- ------ 03% 3.00% 3.46% 3.456%
Aktualizacja :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%
Opcja 2:Konkatenacja
Innym sposobem na to jest użycie operatora konkatenacji (||
), aby połączyć liczbę ze znakiem procentu:
SELECT 3.45 || '%';
Wynik:
3.45%
Może również działać z wyrażeniami takimi jak:
SELECT (0.045 * 100) || '%';
Wynik:
4.5%