PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

3 modi per formattare un numero come percentuale in PostgreSQL

Abbiamo diverse opzioni se vogliamo visualizzare i numeri con un segno di percentuale in PostgreSQL.

Possiamo usare TO_CHAR() funzione per formattare il numero insieme al segno di percentuale. Oppure possiamo semplicemente concatenare il numero con il segno di percentuale, sia con il CONCAT() funzione o con l'operatore di concatenazione.

Il TO_CHAR() Funzione

Questa opzione implica il passaggio del numero e di un modello di modello numerico alla funzione per restituire il numero formattato nel modo specificato dal modello di modello. Per ottenere un segno di percentuale, lo includiamo nel nostro modello di modello:

SELECT TO_CHAR(35, 'fm00D00%');

Risultato:

35.00%

Qui, ho usato il 0 modello modello, il che significa che la posizione della cifra verrà sempre stampata, anche se contiene uno zero iniziale/finale.

Ho anche usato fm modificatore di formato per eliminare eventuali zeri iniziali/finali o spazi vuoti.

Eccolo con altri modelli di modelli:

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";

Risultato:

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

Possiamo eseguire un calcolo rispetto al numero, se necessario:

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

Risultato:

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

In questo caso includo il 9 modello modello in modo da omettere tutti gli zeri iniziali.

Il CONCAT() Funzione

Un altro modo per farlo è usare CONCAT() funzione per concatenare il numero e il segno di percentuale:

SELECT CONCAT(35, '%');

Risultato:

35%

L'operatore di concatenazione

Un altro modo per concatenare il numero e il segno di percentuale consiste nell'usare l'operatore di concatenazione (|| ):

SELECT 35 || '%';

Risultato:

35%