1
resposta

Matricula VARCHAR(5) removendo 0's a esquerda

Olá, pessoal!

A linha de código:

UPDATE tbVENDEDORES SET PERCENTUAL_COMISSAO = '0.11'
WHERE MATRICULA = '00235';

Não havia funcionado, e fui notar que o erro foi que a coluna matrícula teve os zeros a esquerda removidos automaticamente.

Alterei para o código abaixo, e tudo deu certo

UPDATE tbVENDEDORES SET PERCENTUAL_COMISSAO = '0.11'
WHERE MATRICULA = '235';

Porém, pelas demais repostas, acredito que só ocorreu comigo.

Fiz algo errado?

1 resposta

Olá, Jonathan, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

O que pode ter ocorrido foi um tratamento automático do SQL, tratando os zeros como preenchimento para completar determinado número. Essa situação ocorre geralmente com dados de valores numéricos como INT, DECIMAL ou NUMERIC. Por exemplo, ao inserir os dados na tabela, se um campo estiver definido como tipo int e tiver um valor de "0123", o SQL armazenará e tratará esse valor como o número inteiro "123". Isso ocorre porque o zero à esquerda não adiciona nenhum valor significativo ao número, então o SQL o ignora.

Peço, que verifique se, de fato, o tipo de dado que definiu foi do tipo INT. Nesse caso você pode alterar para o tipo VARCHAR, para impedir que essa situação ocorra.

Entretanto, caso o tipo de dado tenha sido do tipo VARCHAR, o que pode ter acontecido, é que em determinadas situações, mesmo utilizando o tipo de dado VARCHAR, dependendo da forma como o banco de dados ou a aplicação estiverem configurados, ainda pode ocorrer a remoção automática dos zeros à esquerda.

Para resolver essa situação, você pode no momento de criar ou alterar uma coluna incluir a propriedade ZEROFILL, ela fica no canto inferior direito, na opção Storage, ela faz com que o banco de dados preencha com zeros à esquerda os valores que não tiverem comprimento suficiente.

Captura de tela do Workbench. Na aba storage a opção zerofill está destacada em vermelho

Jonathan, espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!