Wednesday, March 16, 2011

4 byte unsigned int in SQL Server?

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

Am I forced to use a bigint?

Possible Duplicate: http://stackoverflow.com/questions/1509933/sql-server-4-byte-unsigned-int

From stackoverflow
  • 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

  • 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

    Cade Roux : Would there be a potential for overflow?
    Charles Bretana : No, your application values from 0 to 2^32 - 1 would map to the database values of - 2^31 - + 2^31 - 1
  • You can use bigint with checked the constraint, but datatype will still in 8 byte :(

0 comments:

Post a Comment