Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tipo Number

Não ficou claro para mim, o porquê quando inserimos o valor 7.456.123.89 e especificamos como NUMBER(9) o Oracle arredonda para 7456124. Me pareceu que quando indicamos apenas um digito entre parenteses e considera apenas a parte inteira. Minha dúvida é a seguinte, se colocássemos NUMBER(8) e NUMBER(7), ele guardaria o mesmo resultado?

1 resposta
solução!

Olá Joamir, tudo bem?

Peço desculpas pela demora no retorno.

Quando você informa apenas a precisão, ou seja, apenas o número que fica antes da vírgula, você está definindo que a variável vai receber apenas números inteiros. Como o número informado tem 7 dígitos, se fosse especificado NUMBER(7), ele guardaria o mesmo resultado, mas se fosse especificado como um NUMBER(6), ele não aceitaria, pois o número excede a precisão.

Caso fosse especificado NUMBER(9,2), seria possível armazenar um número de até 9 dígitos, onde 7 dígitos seria armazenado antes da vírgula e 2 dígitos após a vírgula, então o7.456.123.89, seria armazenado sem problemas.

Espero ter ajudado, qualquer dúvida é só falar e bons estudos!