Est “NOMBRE” et “NUMÉRO(*,0)” même dans Oracle?
Dans Oracle la documentation il est mentionné que
NOMBRE (précision, échelle)
Si la précision n'est pas spécifié, la colonne stocke les valeurs. Si
pas d'échelle est spécifié, l'échelle est égale à zéro.
Mais NUMBER
(sans précision et l'échelle) est également l'acceptation des nombres à virgule flottante (34.30), mais selon la documentation, si l'échelle n'est pas spécifié, il doit être égale à zéro de l'échelle par défaut de sorte qu'il devrait permettre que des nombres entiers, je me trompe?.
Et dans une autre questions il est mentionné que
précision par défaut est de 38, échelle par défaut est zéro
Donc NUMBER
et NUMBER(*,0)
doit être égale, mais ils ne le sont pas.
Où suis-je mal?
OriginalL'auteur Rajeev | 2015-01-29
Vous devez vous connecter pour publier un commentaire.
La valeur par défaut de l'échelle n'est pas à zéro, ce qui n'a pas de valeur en elle. Par conséquent, il peut accepter n'importe quelle valeur entre
-84 to 127
. Si vous limiter à zéro alors il n'acceptera pas la même précision la valeur contient la valeur de l'échelleLa
user_tab_columns
vous donnera la valeur de votre précision et l'échelleVeuillez trouver ci-dessous le fonctionnement
OriginalL'auteur Exhausted
Je pense que la phrase dans la documentation
est un peu déroutant. L'échelle est égale à zéro si une précision est spécifiée et une échelle n'est pas spécifié. Ainsi, par exemple,
NUMBER(19)
est équivalent àNUMBER(19,0)
.NUMBER
, par lui-même, aura 38 chiffres de précision mais pas échelle. Si une colonne définie comme unNUMBER
peut accepter des valeurs de tout échelle, aussi longtemps que leur précision est de 38 chiffres ou moins (en gros, 38 chiffres avec une virgule en tout lieu).Vous pouvez également spécifier une échelle sans précision:
NUMBER(*, <scale>)
, mais cela crée de la colonne avec 38 chiffres de précision donc je ne suis pas sûr que c'est particulièrement utile.La table Comment les Facteurs d'Échelle Affecter Numérique de Stockage de Données sur cette page pourrait être utile.
OriginalL'auteur David Faber
Cette parties de Documentation Oracle fait qu'il est absolument clair:
et
Le sens de la star précision est documenté ici et les moyens de la précision de 38
OriginalL'auteur Marmite Bomber