2010-12-10 8 views
7

Was ist die Grenze des Feldtyps BIGINT in SQL?Was ist die Grenze des Feldtyps BIGINT in SQL?

ist 100000235882380 oder 100000466411115 akzeptabel? (Das ist ID von Facebook)

+7

-1: Erwähnen Sie nicht die RDBMS, die Sie verwenden, und die Antwort kann wahrscheinlich leicht durch RTFM oder eine Suchmaschine verwendet werden. – bjoernz

+0

Ich denke, für Portabilität, möchten Sie vielleicht stattdessen eine Zeichenfolge verwenden. In meinem Fall habe ich den Zweierkomplementwert (BigInteger.toBytes) mit Base64 codiert und beim Zugriff auf die Datenbank nachgeschlagen. –

Antwort

25
+1

Gibt es andere RDMSs, die einen anderen BIGINT-Typ als SQL Server haben? Vielleicht ein ähnlicher Typ, aber ich denke, es ist fair zu folgern, dass OP SQL Server verwendet. –

+6

MySQL, Postgres ... Es gibt mehr Benutzer von RDBMS mit BIGINT * als SQL Server als Benutzer von SQL Server. –

+0

Guter Punkt! Ich stehe korrigiert ... :) –

0

Nichts zu befürchten. BIGINT kann viel größere Werte speichern als die, die Sie haben.

Mindestens bis zu 9,223,372,036,854,775,807.

2

Es hängt vom RDBMS ab. Zum Beispiel sind die maximalen Werte eines BIGINT 9223372036854775807 (für signiert) oder 18446744073709551615 (für nicht signiert) auf MySQL.

Weitere Informationen finden Sie im Abschnitt Numeric Types der Dokumentation.

+1

Beachten Sie, dass dies für MySQL gilt, andere Datenbankplattformen können dieselben Grenzwerte haben oder nicht (leider hat das OP nicht angegeben, welche SQL db gemeint war). – Piskvor

+0

@Piskvor - Guter Ruf, eine Vermutung zu weit meinerseits. Ich werde meine Antwort aktualisieren. :-) –

0

-9 223 372 036 854 775 808 zu 9 223 372 036 854 775 807

Aber diese leicht auf Google gefunden werden können.

Verwandte Themen