Vi har flere muligheder, hvis vi ønsker at vise tal med et procenttegn i PostgreSQL.
Vi kan bruge TO_CHAR()
funktion til at formatere tallet sammen med procenttegnet. Eller vi kan simpelthen sammenkæde tallet med procenttegnet, enten med CONCAT()
funktion eller med sammenkædningsoperatoren.
TO_CHAR()
Funktion
Denne mulighed involverer at overføre tallet og et numerisk skabelonmønster til funktionen for at returnere tallet formateret på den måde, der er angivet af skabelonmønsteret. For at få et procenttegn inkluderer vi det i vores skabelonmønster:
SELECT TO_CHAR(35, 'fm00D00%');
Resultat:
35.00%
Her brugte jeg 0
skabelonmønster, hvilket betyder, at cifferpositionen altid vil blive udskrevet, selvom den indeholder et indledende/efterfølgende nul.
Jeg brugte også fm
formatmodifikator for at undertrykke eventuelle indledende/efterstillede nuller eller blanktegn.
Her er den med nogle andre skabelonmønstre:
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";
Resultat:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Vi kan udføre en beregning mod antallet, hvis det kræves:
SELECT
TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";
Resultat:
+-------+--------+ | 1 | 2 | +-------+--------+ | 3.50% | 35.00% | +-------+--------+
I dette tilfælde inkluderer jeg 9
skabelonmønster, så eventuelle foranstillede nuller udelades.
CONCAT()
Funktion
En anden måde at gøre det på er at bruge CONCAT()
funktion til at sammenkæde tallet og procenttegnet:
SELECT CONCAT(35, '%');
Resultat:
35%
Konkatenationsoperatøren
En anden måde at sammenkæde tallet og procenttegnet på er at bruge sammenkædningsoperatoren (||
):
SELECT 35 || '%';
Resultat:
35%