2008-12-04 5 views
7

Ich arbeite mit einer Anwendung, die ziemlich große Zahlen verwendet, und ich muss Daten als eine vorzeichenlose 64-Bit-Ganzzahl speichern. Ich bevorzuge es einfach zu speichern, ohne mich um Bitmanipulation oder ähnliches zu kümmern, so dass verschiedene Programme die Daten auf verschiedene Arten verwenden können.Wie speichern Sie 64-Bit-Integer ohne Vorzeichen in SQL Server?

Antwort

2

AFAIK, Sie müssten einen benutzerdefinierten Typ erstellen. Pointers here obwohl dieser Artikel mehr für die Beschränkung negative Zahlen ist ...

5

können Sie speichern den Wert in einem NUMERIC Typ mit einem scale von 0, die die integer Semantik erforderlich behalten. Der Typ NUMERIC wird negative Zahlen zulassen, obwohl Sie eine Integritätsbedingung festlegen können, die positive ganze Zahlen erfordert.

Das Maximum precision für NUMERIC ist 38 Dezimalziffern. 2**64 ist irgendwo um 18 oder 19 Dezimalstellen, so NUMERIC(19,0) würde wahrscheinlich gut für diese Daten funktionieren.

+5

Ist nicht 2 an die Macht von 64 '18, 446, 744, 073, 709, 551, 616 '- oder 20 Ziffern? Wenn ja, würde das bedeuten, dass Sie eine NUMERIC (20,0) benötigen, um sie zu speichern? –

Verwandte Themen