SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

2 maneiras de adicionar um sinal de porcentagem a um número no SQLite


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%