Hier sind zwei Möglichkeiten, eine Zahl in SQLite als Prozentsatz zu formatieren.
Option 1:Der PRINTF()
oder FORMAT()
Funktion
Wir können den PRINTF()
verwenden oder FORMAT()
Funktion zum Anhängen des Prozentzeichens an eine Zahl:
SELECT PRINTF('%2d%%', 17);
Ergebnis:
17%
Bei Verwendung dieser Funktion hat das Prozentzeichen im Formatstring eine besondere Bedeutung (es zeigt an, dass eine Substitution folgt). Wenn das eigentliche Prozentzeichen in der Ausgabe enthalten sein soll, müssen wir zwei Prozentzeichen im Formatstring verwenden.
Hier sind einige weitere Beispiele:
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";
Ergebnis:
1 2 3 4 --- ----- ----- ------ 03% 3.00% 3.46% 3.456%
Aktualisieren :SQLite 3.38.0 (veröffentlicht am 22. Februar 2022) hat PRINTF()
umbenannt Funktion zu FORMAT()
. Das ursprüngliche PRINTF()
Name wird als Alias für Abwärtskompatibilität beibehalten.
Daher kann das erste obige Beispiel wie folgt geändert werden:
SELECT FORMAT('%2d%%', 17);
Ergebnis:
17%
Option 2:Verketten
Eine andere Möglichkeit ist die Verwendung des Verkettungsoperators (||
), um die Zahl mit dem Prozentzeichen zu verketten:
SELECT 3.45 || '%';
Ergebnis:
3.45%
Der kann auch mit Ausdrücken wie diesen arbeiten:
SELECT (0.045 * 100) || '%';
Ergebnis:
4.5%