"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Compreendendo o tipo de dados decimal no MySQL

Compreendendo o tipo de dados decimal no MySQL

Publicado em 2024-11-08
Navegar:394

Understanding the Decimal Datatype in MySQLO tipo de dados Decimal no MySQL é essencial para projetos relacionados a finanças, onde a precisão nos valores numéricos é crucial. Recentemente, encontrei um problema ao trabalhar com esse tipo de dados em um dos meus projetos Ruby on Rails. Deixe-me compartilhar minha experiência e o que aprendi.

O desafio: erro de valor fora da faixa

Durante meu projeto, defini um campo Decimal em um arquivo de migração e enfrentei o seguinte erro:

Out of range value for column 'db_field' at row 1

Este erro aconteceu porque tentei inserir um valor que excedeu o intervalo definido. Aqui está o trecho do meu arquivo de migração:

t.decimal :rate, precision: 3, scale: 3, default: 0.0

Esta definição corresponde a, o que significa que a coluna de taxa pode armazenar valores entre -0,999 e 0,999. Observe a escala de 3, indicando que sempre há 3 dígitos após a vírgula decimal.

Dividindo precisão e escala

No MySQL, o tipo de dados Decimal é definido como Decimal(P,S), onde:

  • P (Precisão): Número total de dígitos.
  • S (Escala): Número de dígitos após a vírgula decimal.

Como determinar a precisão e a escala

Para decidir a precisão e a escala apropriadas, use esta fórmula simples:

Precision - Scale = Maximum digits before the decimal point

Exemplo:
Se você precisar armazenar valores como 12.345:

  • Você deseja 2 dígitos antes da vírgula decimal e 3 dígitos depois.
  • O total de dígitos (precisão) é 5.
  • Portanto, a definição será Decimal(5,3).

Aplicação no mundo real

Aqui está um exemplo do meu projeto:

t.decimal :rate, precision: 5, scale: 2, default: 0.0

Nesse caso, precisei armazenar valores até 999,99. Conseqüentemente, Decimal(5,2) me permitiu ter 3 dígitos antes da vírgula decimal e 2 dígitos depois.

Leitura adicional

Para informações mais detalhadas, verifique a documentação do MySQL sobre tipo de dados decimais. É um ótimo recurso para entender como trabalhar com Decimal e outros tipos numéricos.

Conclusão

Entender
Usar o tipo de dados Decimal no MySQL é vital para lidar com dados numéricos com precisão em seus aplicativos. Ao definir a precisão e a escala corretas, você pode evitar erros comuns e garantir a integridade dos dados. Espero que esta explicação ajude você em seus projetos!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/sonianand11/understanding-the-decimal-datatype-in-mysql-292c?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3