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%