4 байта без знака int в SQL Server? - PullRequest
19 голосов
/ 20 ноября 2008

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

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

Ответы [ 4 ]

15 голосов
/ 20 ноября 2008

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

9 голосов
/ 20 ноября 2008

Не похоже.

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

http://www.julian -kuiters.id.au / article.php / SQLServer2005-беззнаковое целое число-

0 голосов
/ 17 января 2016

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

0 голосов
/ 11 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...