Temos várias opções se quisermos exibir números com um sinal de porcentagem no PostgreSQL.
Podemos usar o
TO_CHAR()
função para formatar o número junto com o sinal de porcentagem. Ou podemos simplesmente concatenar o número com o sinal de porcentagem, seja com o CONCAT()
função ou com o operador de concatenação. O TO_CHAR()
Função
Essa opção envolve passar o número e um padrão de modelo numérico para a função para retornar o número formatado da maneira especificada pelo padrão de modelo. Para obter um sinal de porcentagem, incluímos em nosso padrão de modelo:
SELECT TO_CHAR(35, 'fm00D00%');
Resultado:
35.00%
Aqui, usei o
0
padrão de modelo, o que significa que a posição do dígito sempre será impressa, mesmo que contenha um zero à esquerda/à direita. Eu também usei o
fm
modificador de formato para suprimir quaisquer zeros ou espaços em branco à esquerda/à direita. Aqui está com alguns outros padrões de modelo:
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";
Resultado:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Podemos realizar um cálculo em relação ao número, se necessário:
SELECT
TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";
Resultado:
+-------+--------+ | 1 | 2 | +-------+--------+ | 3.50% | 35.00% | +-------+--------+
Neste caso eu incluo o
9
padrão de modelo para que quaisquer zeros à esquerda sejam omitidos. O CONCAT()
Função
Outra maneira de fazer isso é usar o
CONCAT()
função para concatenar o número e o sinal de porcentagem:SELECT CONCAT(35, '%');
Resultado:
35%
O operador de concatenação
Outra maneira de concatenar o número e o sinal de porcentagem é usar o operador de concatenação (
||
):SELECT 35 || '%';
Resultado:
35%