我知道在 SO 上有多个关于此的问题,但我还没有找到“是的,这就是如何......”的明确答案
所以又来了:在 SQL Server 中将无符号整数值(32 位值或 32 位位图)存储到 4 字节字段中的可能方法是什么?
以下是我看到的想法:
1) 对所有值使用 -1*2^31 偏移量
- 缺点:需要在读/写/聚合之前对值进行数学运算。
2) 使用 4 个 tinyint 字段
- 缺点:需要连接值来执行任何操作
3) 使用二进制(4)
- 缺点:实际使用 4 + 2 字节空间(编辑:varbinary(4) 使用 4+2,binary(4) 仅使用 4)
- 需要在 SqlBinary 中工作或转换为/从其他类型转换