3

因此,我一直在使用.NET 4BigInteger中引入的新类来存储非常大的数字。

现在,我开始考虑将这些数字保存到数据库 ( SQL Server )。我的问题是,这甚至可能吗?据我所知和我所研究的,SQL 数据类型不包含对应于行为的属性BigInteger(理论上没有最小值或最大值)。

我见过的最接近的是bigint,但它的最小值最大值是。-2^63 (-9,223,372,036,854,775,808)2^63-1 (9,223,372,036,854,775,807)

4

2 回答 2

8

如果您的 SQL 服务器的DECIMAL类型不支持您需要的精度,您将只能选择将数字存储为字符串或二进制文件,即存储在VARCHAR,TEXTVARBINARY字段中。

于 2013-03-06T12:07:29.170 回答
5

您可以将调用的结果存储yourBigInt.ToByteArray()在 a 中,然后使用构造函数VARBINARY(…)检索它。BigInteger(byte[])

这种方法的主要缺点是 SQL Server 将值作为数字处理的能力将受到限制(可能仅限于比较它们)。再说一次,对于任何不适合bigint.

于 2013-03-06T12:09:08.520 回答