No SQLite, podemos usar o
PRINTF() função ou FORMAT() função para formatar números com zeros à esquerda. Exemplo
SELECT PRINTF('%03d', 7); Resultado:
007
O sinal de porcentagem (
% ) indica que uma substituição segue. O
0 indica que o SQLite deve preceder quantos 0 caracteres para substituições numéricas conforme necessário para expandir o valor para a largura especificada. O
d indica que o argumento é um inteiro assinado que é exibido em decimal (em oposição a hexadecimal, octal, etc). Então, se quisermos mais zeros à esquerda, podemos aumentar o
3 para um número maior:SELECT PRINTF('%09d', 7); Resultado:
000000007
Para números inteiros, podemos incluir uma vírgula para o separador de grupo:
SELECT PRINTF('%0,9d', 72345); Resultado:
000,072,345
O FORMAT() Função
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%