Существует ли 4-байтовый тип данных unsigned int в MS SQL Server?
Я вынужден использовать bigint?
Ответ 1
Это не так.
Вот статья, описывающая, как создавать свои собственные правила, ограничивающие int положительные значения. Но это не дает вам положительных значений выше 2^31-1.
Можете ли вы просто добавить/вычесть 2,147,483,648 (2 ^ 31) в обычный int? (вычтите по пути внутрь и добавьте выход)
Я знаю, что это звучит глупо, но если вы объявите собственный тип данных, который делает это, он будет целочисленным арифметическим и очень быстрым.... Он просто не будет доступен для чтения непосредственно из таблицы
Ответ 3
Вы можете использовать bigint с проверкой ограничения, но тип данных будет по-прежнему в 8 байт: (
Ответ 4
Я использовал BINT (11) вместо INT (11), и он действует как UNSIGNED INT (11)