Mamy kilka opcji, jeśli chcemy wyświetlać liczby ze znakiem procentu w PostgreSQL.
Możemy użyć TO_CHAR()
funkcja formatowania liczby wraz ze znakiem procentu. Lub możemy po prostu połączyć liczbę ze znakiem procentu, albo za pomocą CONCAT()
funkcji lub z operatorem konkatenacji.
TO_CHAR()
Funkcja
Ta opcja polega na przekazaniu numeru i wzorca liczbowego do funkcji, aby zwrócić liczbę sformatowaną w sposób określony przez wzorzec wzorca. Aby uzyskać znak procentowy, dołączamy go do naszego wzorca szablonu:
SELECT TO_CHAR(35, 'fm00D00%');
Wynik:
35.00%
Tutaj użyłem 0
wzór szablonu, co oznacza, że pozycja cyfry będzie zawsze drukowana, nawet jeśli zawiera początkowe/końcowe zero.
Użyłem również fm
modyfikator formatu, aby pominąć wszelkie wiodące/końcowe zera lub spacje.
Oto kilka innych wzorców szablonów:
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";
Wynik:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
W razie potrzeby możemy wykonać obliczenia na podstawie liczby:
SELECT
TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";
Wynik:
+-------+--------+ | 1 | 2 | +-------+--------+ | 3.50% | 35.00% | +-------+--------+
W tym przypadku dołączam 9
wzór szablonu, aby wszystkie wiodące zera zostały pominięte.
CONCAT()
Funkcja
Innym sposobem na to jest użycie CONCAT()
funkcja łączenia liczby i znaku procentu:
SELECT CONCAT(35, '%');
Wynik:
35%
Operator konkatenacji
Innym sposobem łączenia liczby i znaku procentu jest użycie operatora łączenia (||
):
SELECT 35 || '%';
Wynik:
35%