Remova os zeros iniciais no SQL

Remova Os Zeros Iniciais No Sql



Ao lidar com dados do mundo real, muitas vezes é confuso e sujo. Isso significa que pode conter dados desnecessários ou inválidos que podem dificultar as operações e as tarefas que desejamos realizar nele.

Um dos dados impuros mais comuns que você pode encontrar é aquele em que os dados contêm zeros à esquerda em dados numéricos ou de string. Isso pode ocorrer ao importar dados de fontes externas ou ao usar técnicas automatizadas de coleta de dados.

Zeros à esquerda nos dados podem ser problemáticos, especialmente ao lidar com valores numéricos armazenados como strings.







Neste guia, discutiremos todos os métodos e técnicas que podemos empregar para remover quaisquer zeros à esquerda em um conjunto de dados SQL.



Configuração de dados de amostra

Antes de nos aprofundarmos nas aplicações e exemplos, vamos começar configurando um conjunto de dados básico que ajudará a demonstrar a ocorrência de zeros à esquerda.



Considere a tabela de um funcionário com os dados mostrados a seguir:





CRIAR TABELA Funcionário (
CódigoDoFuncionário VARCHAR(10)
);
INSERIR NOS VALORES DO FUNCIONÁRIO (EmployeeID)
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

Neste caso, o ID do funcionário é do tipo “varchar”. No entanto, os valores contêm zeros à esquerda.

Vamos explorar os métodos que podemos utilizar para remover estes zeros à esquerda.



Usando a função CAST

Um dos métodos para remover zeros à esquerda é converter a string em um tipo numérico. Podemos usar uma função como CAST ou CONVERT() conforme demonstrado no exemplo a seguir:

SELECIONE CAST(EmployeeID AS INT) AS EmployeeIDSemZeros
DO Funcionário;

Isso deve funcionar automaticamente em bancos de dados que suportam a função cast().

No entanto, em bancos de dados como MySQL, pode ser necessário portar a função para a função trim para realmente remover os zeros à esquerda. Você pode então converter os valores em tipo numérico, conforme demonstrado no exemplo a seguir:

SELECT CAST(TRIM(LEADING '0' FROM EmployeeID) AS SIGNED) AS EmployeeIDWithoutZeros
DO Funcionário;

A saída resultante é a seguinte:

Usando a função LTRIM

O método mais comum e poderoso que você pode usar para remover zeros à esquerda é usar a função LTRIM(). Esta função nos permite remover quaisquer caracteres de espaço em branco iniciais em uma determinada string.

No entanto, não nos permite especificar o caractere específico que desejamos remover. No nosso caso, podemos usá-lo removendo os zeros à esquerda de uma string.

Um exemplo é o seguinte:

SELECT LTRIM(EmployeeID, '0') AS EmployeeIDSemZeros
DO Funcionário;

Isso deve remover os zeros iniciais da string.

Conclusão

Neste tutorial, exploramos dois métodos principais que podemos usar para remover quaisquer caracteres zero à esquerda de uma determinada string/coluna.