MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Adicionar zeros à esquerda no SQL


Abaixo estão exemplos de como adicionar um zero à esquerda a um número em SQL, usando vários DBMSs.

Oráculo


Oracle tem um TO_CHAR(number) função que nos permite adicionar zeros à esquerda a um número. Ele retorna seu resultado como uma string no formato especificado.
SELECT TO_CHAR(7, '000')
FROM DUAL;

Resultado:
007

O 0 elemento de formato é o que gera os zeros à esquerda. Se não quiséssemos zeros à esquerda, poderíamos usar 9 .

Aqui está uma comparação entre 0 e 9 para demonstrar o que quero dizer:
SELECT 
    TO_CHAR(1234.456, '000G000D00') AS "0",
    TO_CHAR(1234.456, '999G999D99') AS "9"
FROM DUAL;

Resultado:
             0              9 
______________ ______________ 
 001,234.46       1,234.46    

O G é para o separador de grupo e o D é para o separador decimal. Consulte esta lista de elementos de formato de número para obter uma lista completa.

Oracle também tem um LPAD() função que nos permite preencher um número com zeros à esquerda (ou qualquer outro caractere). Consulte 2 maneiras de formatar um número com zeros à esquerda no Oracle para obter um exemplo.

PostgreSQL


PostgreSQL também tem um TO_CHAR() função, e funciona como a função do Oracle de mesmo nome:
SELECT TO_CHAR(7, '000');

Resultado:
007

E aqui está uma comparação entre 0 e 9 :
SELECT 
    TO_CHAR(1234.456, '000G000D00') AS "0",
    TO_CHAR(1234.456, '999G999D99') AS "9";

Resultado:
      0      |      9      
-------------+-------------
  001,234.46 |    1,234.46

Consulte Padrões e modificadores de modelo para formatação numérica no Postgres para obter uma lista completa de padrões de modelo que podem ser usados ​​com esta função no PostgreSQL.

Assim como o Oracle, o PostgreSQL também possui um LPAD() função que nos permite preencher números com zeros à esquerda. Veja 2 maneiras de adicionar zeros à esquerda no PostgreSQL para obter um exemplo.

MySQL


MySQL tem um LPAD() função que nos permite preencher a parte esquerda de uma string ou número com nosso caractere ou série de caracteres escolhidos. Portanto, podemos usá-lo para preencher nosso número com zeros:
SELECT LPAD(7, 3, 0);

Resultado:
007

Felizmente, podemos passar o número como um tipo numérico, então não há necessidade de convertê-lo em uma string primeiro.

Consulte Como adicionar zeros à esquerda a um número no MySQL para obter mais informações.

MariaDB


Assim como o MySQL, o MariaDB também possui um LPAD() função que nos permite preencher a parte esquerda de uma string ou número com nosso caractere ou série de caracteres escolhidos:
SELECT LPAD(7, 3, 0);

Resultado:
007

E como no MySQL, podemos passar o número como um tipo numérico, então não há necessidade de convertê-lo em uma string primeiro.

Consulte Como preencher um número com zeros à esquerda no MariaDB para saber mais.

SQL Server


SQL Server tem um FORMAT() função que nos permite formatar números usando uma string de formato:
SELECT FORMAT(7, '000');

Resultado:
007

Aqui está com um separador de grupo e separador decimal:
SELECT FORMAT(1234, '0,000.00');

Resultado:
1,234.00

Consulte Adicionar zeros à esquerda e à direita no SQL Server para obter mais informações.

SQLite


SQLite tem um PRINTF() função que pode ser usada para adicionar zeros à esquerda a um número:
SELECT PRINTF('%03d', 7);

Resultado:
007

Consulte Como formatar números com zeros à esquerda no SQLite para obter uma explicação.

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 exemplo acima pode ser alterado para isso:
SELECT FORMAT('%03d', 7);

Resultado:
007