Der beste Datentyp für eine grundlegende Lohnskala in SQL hängt von mehreren Faktoren ab, aber im Allgemeinen möchten Sie ein
numerischer verwenden Typ, der Dezimalwerte ermöglicht. Hier ist eine Aufschlüsselung der gemeinsamen Entscheidungen und warum:
* `decimal (p, s)` oder `numerisch (p, s)`: Dies sind die genauesten Optionen. `p` repräsentiert die Gesamtzahl der Ziffern (Präzision) und` s` repräsentiert die Anzahl der Ziffern nach dem Dezimalpunkt (Skala). Zum Beispiel ermöglicht "Dezimal" (10, 2) Zahlen bis zu 99999999.99. Dies ist eine gute Wahl, wenn Sie sehr genaue Bezahlbeträge speichern müssen, und Sie kennen den maximalen Wert im Voraus.
* `float` oder` Double Precision`: Dies sind Gleitkomma-Typen, die eine breitere Reihe von Zahlen speichern können. Sie sind jedoch ungefähr, was bedeutet, dass sie möglicherweise nicht den genauen Wert speichern, den Sie eingeben, da die Schwimmpunktzahlen in binär dargestellt werden. Verwenden Sie diese nur, wenn Sie keine extrem genauen Werte benötigen (z. B. wenn kleine Rundungsfehler akzeptabel sind).
* `Integer` oder` int`: Vermeiden Sie dies, es sei denn, alle Ihre Gehälter sind ganze Zahlen. Sie werden Präzision verlieren, wenn Sie Cent haben.
Empfehlung:
Für die meisten Lohn- und Gehaltsabrechnungsanträge ist "Dezimales (P, S)" der empfohlene Datentyp. Wählen Sie geeignete Werte für `p` und` s` basierend auf dem wahrscheinlichen Gehaltsbereich und Ihrer erforderlichen Präzision. Zum Beispiel:
* `Decimal (10, 2)` würde für die meisten Gehaltsbereiche ausreichen, was Werte bis zu 999.999,99 zulässt.
* Wenn Sie außergewöhnlich hohe Gehälter erwarten, können Sie `p` erhöhen.
Denken Sie daran, zukünftiges Wachstum und möglicherweise höhere Gehälter bei der Auswahl von `p zu berücksichtigen. Es ist besser, in Zukunft ein etwas größeres P zu wählen als unbedingt erforderlich, um Datenkürzungsprobleme zu vermeiden. Die Verwendung von `s =2` reicht in den meisten Ländern in der Regel für Währungswerte aus.