4 byte unsigned int in SQL Server?

2019-01-25 03:43发布

问题:

Is there a 4 byte unsigned int data type in MS SQL Server?

Am I forced to use a bigint?

回答1:

It doesn't seem so.

Here's an article describing how to create your own rules restricting an int to positive values. But that doesn't grant you positive values above 2^31-1.

http://www.julian-kuiters.id.au/article.php/sqlserver2005-unsigned-integer



回答2:

Can you just add/subtract 2,147,483,648 (2^31) to the regular int ? (subtract on the way in, & add coming out) I know it sounds silly, but if you declare a custom datatype that does this, it's integer arithmetic and very fast.... It just won't be readable directly from the table



回答3:

You can use bigint with checked the constraint, but datatype will still in 8 byte :(



回答4:

I used BINT(11) instead of INT(11), and it acts as UNSIGNED INT(11)