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