Este artigo discutirá o que e como usar os tipos numéricos e decimais. Também exploraremos as diferenças entre os dois tipos descritos no SQL padrão.
Numérico no SQL padrão
Ao definir um valor numérico no SQL padrão, você fornece dois argumentos principais: precisão e escala.
A sintaxe é como mostrado abaixo:
Numérico (precisão, escala)A precisão determina o número máximo de dígitos que um valor pode ter. (incluindo os pontos decimais). Por outro lado, a escala define o número máximo de dígitos após os pontos decimais.
Por exemplo, se o valor for 3.14159, a precisão é 6 com uma escala de 5
No SQL padrão, um numérico pode armazenar valores na faixa de -10^38+1 a 10^38
Portanto, o valor de precisão para um tipo numérico é 38. No entanto, a menos que explicitamente especificado, o SQL padrão de um valor de precisão de 18.
O valor da escala padrão é 0. O parâmetro de escala só pode ser especificado quando o parâmetro de precisão estiver incluído.
Decimal no SQL padrão
Não há muita diferença na definição de tipo decimal e numérico em padrão. A sintaxe para definição decimal é como mostrado abaixo:
Decimal (precisão, escala)Como um tipo numérico, um decimal pode armazenar valores de -10^38+1 a 10^38.
Diferença entre numérico vs. Decimal
Ok, se os tipos numéricos e decimais compartilham a mesma declaração e alcance, qual é a diferença?
A diferença está em como os dois tipos lidam com o valor de precisão.
Nos tipos numéricos, o valor de precisão é fixo. Isso significa que você não pode exceder o valor de precisão.
Em decimais, por outro lado, você pode exceder o valor de precisão. Isso fornece flexibilidade no número total de valores que você pode armazenar.
Por exemplo, se você definir um decimal como:
Decimal (10, 5)Isso significa que você pode ter mais de dez valores
Sim, essa é a única diferença.
Numérico e decimal em outros motores SQL
Como afirmamos anteriormente, vários mecanismos de banco de dados fornecem variações do ANSI Standard SQL. A seguir, é como essas mudanças se aplicam aos tipos numéricos e decimais.
Mysql
No MySQL, o tipo numérico é implementado como um decimal. Isso remove a necessidade de se preocupar com a diferença de precisão e escala.
PostGresql
Por outro lado, o PostgreSQL preserva a funcionalidade e a diferença entre numérico e decimal, conforme previsto no SQL padrão.
servidor SQL
No servidor SQL, decimal e numérico são fundamentalmente semelhantes. Além disso, o SQL Server trata um decimal como o sinônimo de numérico. Portanto, você pode usar os dois tipos de forma intercambiável.
Verifique o recurso abaixo para obter mais:
https: // docs.Microsoft.COM/EN-US/SQL/T-SQL/Data-Types/Decimal-and Numéric-Transact-SQL?View = SQL-Server-ver15
BigQuery
Em BigQuery, um numérico é tratado como um pseudônimo para o tipo decimal.
Oráculo
Nos bancos de dados Oracle, decimal e numérico são diferentes. Por exemplo, um decimal no Oracle pode manter até 15 números significativos. Por outro lado, um numérico pode suportar até 38 dígitos significativos.
OBSERVAÇÃO: Numérico no Oracle é renomeado para numeros.
Conclusão
Este artigo descreve a diferença entre um tipo de dados decimal e numérico, conforme definido em SQL padrão e outros mecanismos de banco de dados.
Como sempre, obrigado pela leitura!