PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

3 Möglichkeiten zum Formatieren einer Zahl als Prozentsatz in PostgreSQL

Wir haben mehrere Möglichkeiten, wenn wir Zahlen mit einem Prozentzeichen in PostgreSQL anzeigen möchten.

Wir können den TO_CHAR() verwenden Funktion, um die Zahl zusammen mit dem Prozentzeichen zu formatieren. Oder wir können die Zahl einfach mit dem Prozentzeichen verketten, entweder mit CONCAT() -Funktion oder mit dem Verkettungsoperator.

Der TO_CHAR() Funktion

Bei dieser Option werden die Zahl und ein numerisches Vorlagenmuster an die Funktion übergeben, um die Zahl so formatiert zurückzugeben, wie es durch das Vorlagenmuster angegeben ist. Um ein Prozentzeichen zu erhalten, fügen wir es in unser Vorlagenmuster ein:

SELECT TO_CHAR(35, 'fm00D00%');

Ergebnis:

35.00%

Hier habe ich den 0 verwendet Vorlagenmuster, was bedeutet, dass die Ziffernposition immer gedruckt wird, auch wenn sie eine führende/nachgestellte Null enthält.

Ich habe auch den fm verwendet Formatmodifikator, um führende/nachgestellte Nullen oder Leerzeichen zu unterdrücken.

Hier ist es mit einigen anderen Vorlagenmustern:

SELECT 
    TO_CHAR(7, 'fm00%') AS "1",
    TO_CHAR(7, 'fm99%') AS "2",
    TO_CHAR(7.4567, 'fm0D00%') AS "3",
    TO_CHAR(7, 'fm0D00%') AS "4";

Ergebnis:

+-----+----+-------+-------+
|  1  | 2  |   3   |   4   |
+-----+----+-------+-------+
| 07% | 7% | 7.46% | 7.00% |
+-----+----+-------+-------+

Wir können bei Bedarf eine Berechnung mit der Zahl durchführen:

SELECT 
    TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
    TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";

Ergebnis:

+-------+--------+
|   1   |   2    |
+-------+--------+
| 3.50% | 35.00% |
+-------+--------+

In diesem Fall füge ich die 9 hinzu Vorlagenmuster, sodass alle führenden Nullen weggelassen werden.

Der CONCAT() Funktion

Eine andere Möglichkeit ist die Verwendung von CONCAT() Funktion zum Verketten der Zahl und des Prozentzeichens:

SELECT CONCAT(35, '%');

Ergebnis:

35%

Der Verkettungsoperator

Eine andere Möglichkeit, die Zahl und das Prozentzeichen zu verketten, ist die Verwendung des Verkettungsoperators (|| ):

SELECT 35 || '%';

Ergebnis:

35%