sql server -相当于c# BigInteger的sql
本文关键字:sql BigInteger 相当于 server | 更新日期: 2023-09-27 18:02:26
所以,我一直在使用中引入的新的BigInteger
类。. NET 4存储超大的数字。
现在,我已经开始考虑保存这些数字到数据库(SQL Server)。我的问题是,这可能吗?据我所知和我所研究的,SQL数据类型不包含对应于BigInteger
行为的属性(理论上没有min或max)。
我见过的最接近的是bigint
,但-2^63 (-9,223,372,036,854,775,808)
的最小值和2^63-1 (9,223,372,036,854,775,807)
的最大值。
如果你的SQL服务器的DECIMAL
类型不支持你需要的精度,你只能选择将数字存储为字符串或二进制,即在VARCHAR
, TEXT
或VARBINARY
字段
您可以将调用yourBigInt.ToByteArray()
的结果存储在VARBINARY(…)
中,然后使用BigInteger(byte[])
构造函数检索它。
这种方法的主要缺点是SQL Server将值作为数字处理的能力受到限制(可能仅限于比较它们)。然而,对于任何不适合bigint
的内容,这是一个预料之中的结论。