É compatível com SQL92 armazenar o número 1 em um campo definido como NUMERIC 3,3
?
E sobre DECIMAL 3,3
?
Isso significa que a precisão é uma casa decimal flutuante ou estática que deve ter 3 casas decimais mesmo que sejam todas zero?
É compatível com SQL92 armazenar o número 1 em um campo definido como NUMERIC 3,3
?
E sobre DECIMAL 3,3
?
Isso significa que a precisão é uma casa decimal flutuante ou estática que deve ter 3 casas decimais mesmo que sejam todas zero?
A precisão é o número total de dígitos decimais que podem ser armazenados em ambos os lados da casa decimal. A escala é o número total de dígitos decimais à direita do ponto decimal que pode ser menor ou igual à precisão. Portanto, o valor máximo que pode ser armazenado em DECIMAL(3,3) ou NUMERIC(3,3) é 0,999. A maneira mais fácil de descobrir isso é realmente experimentá-lo.
Usando mysql 5.5.20 abaixo retorna 0.999:
Considerando que o seguinte retorna 1:
Eu espero que isso ajude.
EDIT: esqueci de mencionar que, na maioria das plataformas, a tentativa de executar o procedimento acima resultará em algum tipo de exceção de estouro aritmético. Por exemplo, a instrução abaixo em execução no Microsoft SQL Server 2008 gerará um erro: