Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Uint64: wie in MSSQL abbilden?

Yves3 / 10 Antworten / Flachansicht Nickles

Hallo

Was für einen Datentypen muss ich wählen um einen Wert vom Typ uint64 in einer MSSQL Datenbank zu speichern?
Bigint ist 8 Byte (also 64 bit) gross, damit können aber auch negative Zahlen abgebildet werden, es wird also kaum reichen.

Ich tippe auf numeric(20, 0). Wenn ich das richtig verstanden habe beinhaltet dieser Typ 20 Stellen, von denen 0 nach dem Komma sind.
Die höchstmögliche Zahl, die sich mit uint64 darstellen lässt sollte eigentlich 18446744073709551616 sein, hätte also in den 20 Stellen vor dem Komma platz. Allerdings ist dieser Typ grösser als nötig, da er auch negative Zahlen abbilden kann.

Was meint ihr, welcher Typ ist der beste?

bei Antwort benachrichtigen
d-oli Yves3 „Bei MySQL habe ich das auch schon gefunden, es geht aber um MSSQL. Ob es klappt...“
Optionen
Bei MySQL habe ich das auch schon gefunden, es geht aber um MSSQL.
... ups - sorry ... My vs. MS ... war wohl ein Freudscher Verleser ... ;-)

... ich habe mich nur gefragt ob man da noch einen besser geeigneten Typ findet
Das kommt auf die Anwendung und Anforderungen an. Ich denke, dass sich BIGINT (unsigned) sehr gut für eine Identitätsspalte eignet, weil ein arithmetischer Überlauffehler nicht so schnell auftreten wird.
Quelle: http://www.berndjungbluth.de/sqlfaq/faqa3.htm > A3.16. Identitätsspalte zu klein

Für Berechnungen würde ich eher NUMERIC verwenden, aber nur, wenn die Kommastellen begrenzt sein sollen.

Weitere Links:
http://technet.microsoft.com/de-de/library/ms172424.aspx
http://www.sql-und-xml.de/server-daten/sql-befehle/datentypen.html
http://www.berndjungbluth.de/sqlfaq/faqb4.htm

Gruss
d-oli



Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen