Oracle
 sql >> Base de données >  >> RDS >> Oracle

NUMBER et NUMBER(*,0) sont-ils identiques dans Oracle ?

Je pense que la phrase dans la documentation

est un peu déroutant. L'échelle est zéro si une précision est spécifiée et qu'aucune échelle n'est spécifiée . Ainsi, par exemple, NUMBER(19) est équivalent à NUMBER(19,0) . NUMBER , à lui seul, aura 38 chiffres de précision mais pas d'échelle définie . Donc une colonne définie comme un NUMBER peut accepter les valeurs de any échelle, tant que leur précision est de 38 chiffres ou moins (essentiellement, 38 chiffres numériques avec un point décimal à n'importe quel endroit).

Vous pouvez également spécifier une échelle sans précision :NUMBER(*, <scale>) , mais cela crée simplement la colonne avec 38 chiffres de précision donc je ne suis pas sûr que ce soit particulièrement utile.

Le tableau Comment les facteurs d'échelle affectent le stockage des données numériques sur cette page pourrait être utile.