Точно от ръководството:
Типовете
decimal
иnumeric
са еквивалентни. И двата типа са част от стандарта SQL.
Що се отнася до „защо трябва да го използвам“, това също е обяснено в ръководството:
Типът число може да съхранява числа с много голям брой цифри и да извършва точно изчисления
(Ударение мой).
Ако имате нужда от числа с десетични знаци, използвайте decimal
(или numeric
) ако имате нужда от числа без десетични знаци, използвайте integer
или bigint
. Типична употреба на decimal
като тип колона ще бъде колона "цена на продукта" или "лихвен процент". Типично използване на целочислен тип би било напр. колона, която съхранява колко много продуктите са поръчани (ако приемем, че не можете да поръчате „половин“ продукт).
double
и real
са също типове, които могат да съхраняват десетични стойности, но те са приблизителни видове. Това означава, че не е задължително да извличате стойността, която сте съхранили. За подробности, моля, вижте:http://floating-point-gui.de/