有谁知道我可以使用4个字节而不是8个字节和bigint来保存无符号整数(0到4294967295)的任何变通方法?
我知道我们可以创建用户定义的数据类型并对它们创建约束,以不允许使用负值,但这仍然不允许我输入超过2147483647的值。我只想使用4个字节,但能够保存大于2147483647的整数值,但是少于4294967295。
最佳答案
没有可用的无符号类型,因此您可以使用UDT创建一种,也可以选择更大的数据类型。如果在UDT中执行此操作,则将再次超过4个字节。
极端的破解方法是在读取后通过添加-2 ^ 31将偏移量自动应用于您的储值,但这是一种真正的破解方法,会使任何查看代码的人困惑,更不用说潜在的对于错误/错过的事情。我根本不会推荐这种hack。
关于sql - sql server 4字节unsigned int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1509933/