SQL numérico vs. Decimal

SQL numérico vs. Decimal
Aunque no hay diferencia entre los tipos de datos numéricos y decimales en algunos motores SQL, SQL estándar proporciona variaciones entre los dos tipos.

Este artículo discutirá qué y cómo usar los tipos numéricos y decimales. También exploraremos las diferencias entre los dos tipos descritos en SQL estándar.

Numérico en SQL estándar

Al definir un valor numérico en SQL estándar, proporciona dos argumentos principales: precisión y escala.

La sintaxis es como se muestra a continuación:

Numérico (precisión, escala)

La precisión determina el número máximo de dígitos que puede tener un valor. (incluidos los puntos decimales). Por otro lado, la escala establece el número máximo de dígitos después de los puntos decimales.

Por ejemplo, si el valor es 3.14159, la precisión es 6 con una escala de 5

En SQL estándar, un numérico puede almacenar valores en el rango de -10^38+1 a 10^38

Por lo tanto, el valor de precisión para un tipo numérico es 38. Sin embargo, a menos que se especifique explícitamente, SQL valdrá el valor de un valor de precisión de 18.

El valor de escala predeterminado es 0. El parámetro de escala solo se puede especificar cuando se incluye el parámetro de precisión.

Decimal en SQL estándar

No hay mucha diferencia en la definición de tipo decimal y numérico en estándar. La sintaxis para la definición decimal es como se muestra a continuación:

Decimal (precisión, escala)

Como un tipo numérico, un decimal puede almacenar valores de -10^38+1 a 10^38.

Diferencia entre numérico vs. Decimal

De acuerdo, si los tipos numéricos y decimales comparten la misma declaración y rango, ¿cuál es la diferencia??

La diferencia radica en cómo ambos tipos manejan el valor de precisión.

En tipos numéricos, el valor de precisión es fijo. Esto significa que no puede exceder el valor de precisión.

En decimales, por otro lado, puede exceder el valor de precisión. Esto proporciona flexibilidad en el número total de valores que puede almacenar.

Por ejemplo, si define un decimal como:

Decimal (10, 5)

Significa que puedes tener más de diez valores

Si, esa es la única diferencia.

Numérico y decimal en otros motores SQL

Como dijimos anteriormente, varios motores de bases de datos proporcionan variaciones del SQL estándar ANSI. Lo siguiente es cómo se aplican estos cambios a los tipos numéricos y decimales.

Mysql

En MySQL, el tipo numérico se implementa como decimal. Esto elimina la necesidad de preocuparse por la diferencia de precisión y escala.

Postgresql

Por otro lado, PostgreSQL conserva la funcionalidad y la diferencia entre numérico y decimal como se proporciona en SQL estándar.

servidor SQL

En SQL Server, tanto decimal como numérico son fundamentalmente similares. Además, SQL Server trata un decimal como sinónimo de numérico. Por lo tanto, puedes usar ambos tipos indistintamente.

Consulte el recurso a continuación para obtener más información:

https: // documentos.Microsoft.com/en-us/sql/t-sql/data-types/decimal-and-numéric-transact-sql?Ver = sql-server-ver15

Bigores

En BigQuery, un numérico se trata como un alias para el tipo decimal.

Oráculo

En las bases de datos de Oracle, decimal y numérico son diferentes. Por ejemplo, un decimal en Oracle puede contener hasta 15 números significativos. Por otro lado, un numérico puede contener hasta 38 dígitos significativos.

NOTA: Numérico en Oracle se renombra al número.

Conclusión

Este artículo describe la diferencia entre un tipo de datos decimal y numérico como se define en SQL estándar y otros motores de base de datos.

Como siempre, gracias por leer!