我正在开发一个应用程序,使用第三方组件,该组件返回的值是 UInt32 类型。
我需要把这个 UInt32 存储在 Sql Server 表中。我在考虑只使用一个简单的 int 列,并像这样插入值:
int value = (int)(cs - int.MaxValue);
但我不确定这是否是处理此任务的最佳方式。
我正在开发一个应用程序,使用第三方组件,该组件返回的值是 UInt32 类型。
我需要把这个 UInt32 存储在 Sql Server 表中。我在考虑只使用一个简单的 int 列,并像这样插入值:
int value = (int)(cs - int.MaxValue);
但我不确定这是否是处理此任务的最佳方式。
你应该加上 int.MinValue。因为32位有符号整数的最大值为2147483647,最小值为-2147483648。零会从正数一侧占用一个值。
使用bigint或decimal(10,0)列,并定义一个检查约束以确保它在0到40亿之间。
定义CLR数据类型
我建议您将其存储在bigint列中。