4 байта unsigned int в SQL Server?

Существует ли 4-байтовый тип данных unsigned int в MS SQL Server?

Я вынужден использовать bigint?

Ответ 1

Это не так.

Вот статья, описывающая, как создавать свои собственные правила, ограничивающие int положительные значения. Но это не дает вам положительных значений выше 2^31-1.

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

Ответ 2

Можете ли вы просто добавить/вычесть 2,147,483,648 (2 ^ 31) в обычный int? (вычтите по пути внутрь и добавьте выход) Я знаю, что это звучит глупо, но если вы объявите собственный тип данных, который делает это, он будет целочисленным арифметическим и очень быстрым.... Он просто не будет доступен для чтения непосредственно из таблицы

Ответ 3

Вы можете использовать bigint с проверкой ограничения, но тип данных будет по-прежнему в 8 байт: (

Ответ 4

Я использовал BINT (11) вместо INT (11), и он действует как UNSIGNED INT (11)