Het beste gegevenstype voor een basissalarisschaal in SQL hangt af van verschillende factoren, maar over het algemeen zult u een numeriek willen gebruiken. type dat decimale waarden mogelijk maakt. Hier volgt een overzicht van veelvoorkomende keuzes en waarom:
* `DECIMAL(p, s)` of `NUMERIC(p, s)`: Dit zijn de meest nauwkeurige opties. `p` vertegenwoordigt het totale aantal cijfers (precisie), en `s` vertegenwoordigt het aantal cijfers na de komma (schaal). Met `DECIMAL(10, 2)` zijn bijvoorbeeld getallen tot 99999999,99 mogelijk. Dit is een goede keuze als u zeer precieze loonbedragen moet opslaan en u vooraf de maximale waarde kent.
* `FLOAT` of `DUBBELE PRECISIE`: Dit zijn typen met drijvende komma die een groter aantal getallen kunnen opslaan. Ze zijn echter bij benadering, wat betekent dat ze mogelijk niet de exacte waarde opslaan die u invoert, vanwege de manier waarop drijvende-kommagetallen in binair getal worden weergegeven. Gebruik deze alleen als u geen extreem nauwkeurige waarden nodig heeft (bijvoorbeeld als kleine afrondingsfouten acceptabel zijn).
* `INTEGER` of `INT`: Vermijd dit tenzij al uw salarissen hele getallen zijn. Je verliest precisie als je centen hebt.
Aanbeveling:
Voor de meeste salarisapplicaties is `DECIMAL(p, s)` het aanbevolen gegevenstype. Kies de juiste waarden voor `p` en `s` op basis van het waarschijnlijke salarisbereik en de door u vereiste nauwkeurigheid. Bijvoorbeeld:
* `DECIMAL(10, 2)` zou voldoende zijn voor de meeste salarisbereiken, waarbij waarden tot 9.999.999,99 mogelijk zijn.
* Als u uitzonderlijk hoge salarissen verwacht, kunt u `p` verhogen.
Houd bij het kiezen van `p` rekening met toekomstige groei en mogelijk hogere salarissen. Het is beter om een iets grotere 'p' te kiezen dan absoluut noodzakelijk om problemen met het afkappen van gegevens in de toekomst te voorkomen. Het gebruik van `s=2` is in de meeste landen doorgaans voldoende voor valutawaarden. |