2010-12-10 110 views
7

SQL中字段類型BIGINT的限制是什麼?SQL中字段類型BIGINT的限制是什麼?

是100000235882380還是100000466411115可以接受? (這是來自Facebook ID)

+7

-1:沒有提到你正在使用的RDBMS,答案可能很容易通過RTFM或使用搜索引擎。 – bjoernz 2010-12-10 12:38:13

+0

我猜想可移植性,您可能需要使用字符串。在我的情況下,我使用Base64對二進制補碼值(BigInteger.toBytes)進行了編碼,並在訪問數據庫時對其進行了查找。 – 2013-07-19 01:33:49

回答

25
+1

是否還有其他RDMS具有除SQL Server之外的BIGINT類型?也許是類似的類型,但我認爲OP使用SQL Server是公平的。 – 2010-12-10 12:31:40

+6

MySQL,Postgres ...與SQL Server的用戶相比,除了* SQL Server以外,還有更多使用BIGINT *的RDBMS用戶。 – 2010-12-10 12:33:15

+0

好點!我糾正了...... :) – 2010-12-10 12:54:20

0

沒什麼好擔心的。 BIGINT可以存儲比您擁有的值大得多的值。

最低達9,223,372,036,854,775,807。

2

它取決於RDBMS。例如,BIGINT的最大值是MySQL上的9223372036854775807(用於簽名)或18446744073709551615(用於未簽名)。

有關詳細信息,請參閱文檔的Numeric Types部分。

+1

請注意,這是針對MySQL的,其他數據庫平臺可能有或沒有相同的限制(可惜,OP沒有指定使用哪個SQL數據庫)。 – Piskvor 2010-12-10 12:35:30

+0

@皮什沃爾 - 好的電話,我的推測太過分了。我會更新我的答案。 :-) – 2010-12-10 12:36:25

0

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

但是,這可以很容易地在谷歌上找到。

相關問題