Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

NUMBER e NUMBER(*,0) são iguais no Oracle?


Acho que a frase na documentação

é um pouco confuso. A escala é zero se uma precisão for especificada e uma escala não for especificada . Assim, por exemplo, NUMBER(19) é equivalente a NUMBER(19,0) . NUMBER , por si só, terá 38 dígitos de precisão mas sem escala definida . Portanto, uma coluna definida como NUMBER pode aceitar valores de qualquer escala, desde que sua precisão seja de 38 dígitos ou menos (basicamente, 38 dígitos numéricos com um ponto decimal em qualquer lugar).

Você também pode especificar uma escala sem precisão:NUMBER(*, <scale>) , mas isso apenas cria a coluna com 38 dígitos de precisão, então não tenho certeza se é particularmente útil.

A tabela Como os fatores de escala afetam o armazenamento de dados numéricos em nesta página pode ser útil.