SQL相当于C#BigInteger的(SQL equivalent of C# BigIntege

2019-07-21 02:20发布

所以,我一直在使用新的过BigInteger.NET 4中引入的类来存储难以置信的大量涌现。

现在,我已经开始想保存这些数字到数据库(SQL Server)。 我的问题是,这甚至可能吗? 据我知道什么,我研究过,SQL数据类型不包含对应于的行为性质BigInteger (理论上没有最小或最大)。

我见过的最接近的是bigint ,但有一个最低-2^63 (-9,223,372,036,854,775,808)最多 2^63-1 (9,223,372,036,854,775,807)

Answer 1:

如果您的SQL服务器的DECIMAL类型不支持的精度,你需要你只需把号码存储为一个字符串或二进制,即选择VARCHARTEXTVARBINARY场。



Answer 2:

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

这种方法的主要缺点在于SQL服务器将在其与值作为​​数字(可能仅限于对它们进行比较)的工作能力受到限制。 话又说回来,这对任何不适合入定局bigint



文章来源: SQL equivalent of C# BigInteger