4 байта без знака int в SQL Server?

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

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

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
19
0
27 875
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Не похоже.

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

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

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

Будет ли возможность переполнения?

Cade Roux 20.11.2008 22:09

Нет, значения вашего приложения от 0 до 2 ^ 32-1 будут отображаться в значениях базы данных - 2 ^ 31 - + 2 ^ 31-1.

Charles Bretana 20.11.2008 22:44

До появления Google Analytics было намного больше компаний, производящих программное обеспечение для отслеживания веб-статистики. Я помню, что так многие из них сохраняли IP-адреса, не заходя в bigint ...

GWR 25.11.2017 01:58

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

вот почему это вообще не жизнеспособное решение

Pacerier 18.10.2011 08:10

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

Я почти уверен, что это неправильный ответ для SQL Server. Вопрос задавался с тегом sql-server-2005.

TT. 17.01.2016 16:09

Другие вопросы по теме