Lige fra manualen:
Typerne decimal
og numeric
er ækvivalente. Begge typer er en del af SQL-standarden.
Hvad angår "hvorfor skal jeg bruge det", er dette også forklaret i manualen:
Typen numerisk kan gemme tal med et meget stort antal cifre og udføre beregninger nøjagtigt
(Fremhæv min).
Hvis du har brug for tal med decimaler, skal du bruge decimal
(eller numeric
) hvis du har brug for tal uden decimaler, skal du bruge integer
eller bigint
. En typisk brug af decimal
som kolonnetype ville være en "produktpris"-kolonne eller en "rentesats". En typisk brug af en heltalstype ville være f.eks. en kolonne, der gemmer hvor mange produkter blev bestilt (forudsat at du ikke kan bestille "det halve" produkt).
double
og real
er også typer, der kan gemme decimalværdier, men de er tilnærmede typer. Det betyder, at du ikke nødvendigvis henter den værdi, du har gemt. For detaljer se venligst:http://floating-point-gui.de/