Qual é a diferença entre precisão e escala no Oracle? Nos tutoriais, eles geralmente deixam a escala vazia e definem a precisão como 6 ao criar uma chave primária.
O que significam precisão e escala?
Qual é a diferença entre precisão e escala no Oracle? Nos tutoriais, eles geralmente deixam a escala vazia e definem a precisão como 6 ao criar uma chave primária.
O que significam precisão e escala?
Respostas:
Precisão 4, escala 2: 99,99
Precisão 10, escala 0: 9999999999
Precisão 8, escala 3: 99999.999
Precisão 5, escala -3: 99999000
Precisão é o número de dígitos significativos. A Oracle garante a portabilidade de números com precisão variando de 1 a 38.
Escala é o número de dígitos à direita (positivo) ou à esquerda (negativo) do ponto decimal. A escala pode variar de -84 a 127.
No seu caso, ID com precisão 6 significa que não aceitará um número com 7 ou mais dígitos significativos.
Referência:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
Essa página também tem alguns exemplos que farão você entender a precisão e a escala.
Precisão é o número total de dígitos, pode estar entre 1 e 38.
Escala é o número de dígitos após o ponto decimal, também pode ser definido como negativo para arredondamentos.
Exemplo:
NÚMERO (7,5): 12.12345
NÚMERO (5,0): 12345
Mais detalhes no site da ORACLE:
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
Talvez mais claro:
Observe que precisão é o número total de dígitos, incluindo a escala
NÚMERO (precisão, escala)
Precisão 8, escala 3: 87654.321
Precisão 5, escala 3: 54.321
Precisão 5, escala 1: 5432.1
Precisão 5, escala 0: 54321
Precisão 5, escala -1: 54320
Precisão 5, escala -3: 54000
precisão: É o número total de dígitos antes ou depois do ponto de raiz. EX: 123.456 aqui a precisão é 6.
Escala: É o número total de dígitos após o ponto de raiz. EX: 123.456 aqui Scaleis 3
Se o valor for 9999,988 e Precisão 4, escala 2, significa 9999 (representa precisão) .99 (a escala é 2, portanto, 0,988 é arredondado para 0,99)
Se o valor for 9999,9887 e a precisão for 4, a escala for 2, significa 9999,99