SQL numérique vs. Décimal

SQL numérique vs. Décimal
Bien qu'il n'y ait pas de différence entre les types de données numériques et décimaux dans certains moteurs SQL, SQL standard fournit des variations entre les deux types.

Cet article discutera de quoi et comment utiliser les types numériques et décimaux. Nous explorerons également les différences entre les deux types décrits dans SQL standard.

Numérique dans SQL standard

Lors de la définition d'une valeur numérique en SQL standard, vous fournissez deux arguments principaux: précision et échelle.

La syntaxe est comme indiqué ci-dessous:

Numérique (précision, échelle)

La précision détermine le nombre maximum de chiffres qu'une valeur peut avoir. (y compris les décimaux). D'un autre côté, l'échelle définit le nombre maximum de chiffres après les points décimaux.

Par exemple, si la valeur est 3.14159, la précision est de 6 avec une échelle de 5

Dans SQL standard, un numéro numérique peut stocker des valeurs dans la plage de -10 ^ 38 + 1 à 10 ^ 38

Par conséquent, la valeur de précision pour un type numérique est de 38. Cependant, sauf si explicitement spécifié, SQL sera par défaut à une valeur de précision de 18.

La valeur d'échelle par défaut est 0. Le paramètre d'échelle ne peut être spécifié que lorsque le paramètre de précision est inclus.

Décimal dans SQL standard

Il n'y a pas beaucoup de différence dans la définition du type décimal et numérique en standard. La syntaxe pour la définition décimale est comme indiqué ci-dessous:

Décimal (précision, échelle)

Comme un type numérique, une décimale peut stocker des valeurs de -10 ^ 38 + 1 à 10 ^ 38.

Différence entre numérique vs. Décimal

D'accord, si les types numériques et décimaux partagent la même déclaration et gamme, quelle est la différence?

La différence réside dans la façon dont les deux types gèrent la valeur de précision.

Dans les types numériques, la valeur de précision est fixe. Cela signifie que vous ne pouvez pas dépasser la valeur de précision.

En décimales, en revanche, vous pouvez dépasser la valeur de précision. Cela offre une flexibilité dans le nombre total de valeurs que vous pouvez stocker.

Par exemple, si vous définissez une décimale comme:

Décimal (10, 5)

Cela signifie que vous pouvez avoir plus de dix valeurs

Oui, c'est la seule différence.

Numérique et décimal dans d'autres moteurs SQL

Comme nous l'avons dit précédemment, divers moteurs de base de données fournissent des variations de la SQL standard ANSI. Voici comment ces modifications s'appliquent aux types numériques et décimaux.

Mysql

Dans MySQL, le type numérique est implémenté comme une décimale. Cela supprime la nécessité de s'inquiéter de la précision et de la différence d'échelle.

Postgresql

D'un autre côté, PostgreSQL préserve la fonctionnalité et la différence entre numérique et décimal comme prévu dans SQL standard.

serveur SQL

Dans SQL Server, la décimale et le numérique sont fondamentalement similaires. De plus, SQL Server traite une décimale comme le synonyme de numérique. Par conséquent, vous pouvez utiliser les deux types interchangeables.

Vérifiez la ressource ci-dessous pour en savoir plus:

https: // docs.Microsoft.com / en-us / sql / t-sql / data-types / décimal et numeric-transact-sql?View = SQL-Server-Ver15

Grossery

Dans BigQuery, un numérique est traité comme un alias à un type décimal.

Oracle

Dans les bases de données Oracle, la décimale et le numérique sont différentes. Par exemple, une décimale d'Oracle peut contenir jusqu'à 15 nombres significatifs. D'un autre côté, un numérique peut contenir jusqu'à 38 chiffres importants.

NOTE: Numeric in Oracle est renommé numéro.

Conclusion

Cet article décrit la différence entre un type de données décimales et numérique tel que défini dans SQL standard et d'autres moteurs de base de données.

Comme toujours, merci d'avoir lu!