Desde el manual:
Los tipos decimal
y numeric
son equivalentes. Ambos tipos son parte del estándar SQL.
En cuanto a "por qué necesito usarlo", esto también se explica en el manual:
El tipo numérico puede almacenar números con una gran cantidad de dígitos y realizar cálculos exactamente
(Énfasis mío).
Si necesita números con decimales, use decimal
(o numeric
) si necesita números sin decimales, use integer
o bigint
. Un uso típico de decimal
como tipo de columna sería una columna de "precio del producto" o una "tasa de interés". Un uso típico de un tipo entero sería, p. una columna que almacena cuántos se ordenaron productos (asumiendo que no puede ordenar "la mitad" de un producto).
double
y real
también son tipos que pueden almacenar valores decimales, pero son aproximados tipos Esto significa que no necesariamente recupera el valor que almacenó. Para obtener más información, consulte:http://floating-point-gui.de/