Aqui estão duas maneiras de formatar um número como uma porcentagem no SQLite.
Opção 1:O PRINTF()
ou FORMAT()
Função
Podemos usar o
PRINTF()
ou FORMAT()
função para anexar o sinal de porcentagem a um número:SELECT PRINTF('%2d%%', 17);
Resultado:
17%
Ao usar esta função, o sinal de porcentagem tem um significado especial na string de formato (indica que uma substituição segue). Se quisermos que o sinal de porcentagem real seja incluído na saída, precisamos usar dois sinais de porcentagem na string de formato.
Aqui estão mais alguns exemplos:
SELECT
PRINTF('%02d%%', 3.45) AS "1",
PRINTF('%2.2f%%', 3) AS "2",
PRINTF('%1.2f%%', 3.456) AS "3",
PRINTF('%2.3f%%', 3.456) AS "4";
Resultado:
1 2 3 4 --- ----- ----- ------ 03% 3.00% 3.46% 3.456%
Atualizar :SQLite 3.38.0 (lançado em 22 de fevereiro de 2022) renomeou o
PRINTF()
função para FORMAT()
. O PRINTF()
original name é mantido como um alias para compatibilidade com versões anteriores. Portanto, o primeiro exemplo acima pode ser alterado para isso:
SELECT FORMAT('%2d%%', 17);
Resultado:
17%
Opção 2:concatenar
Outra maneira de fazer isso é usar o operador de concatenação (
||
) para concatenar o número com o sinal de porcentagem:SELECT 3.45 || '%';
Resultado:
3.45%
O também pode trabalhar com expressões como esta:
SELECT (0.045 * 100) || '%';
Resultado:
4.5%