2010-12-10 109 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

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

相关问题