Мне нужно создать большое перечисление, которое будет использоваться как битовые флаги. Использование стандартного удвоения, то есть 1, 2, 4, чтобы обеспечить уникальность любой комбинации, отлично, за исключением того, что у меня заканчиваются числа, если я использую int (2 миллиарда верхних пределов). Я также не могу использовать большой int, поскольку сервер Sql имеет ограничение на побитовые операции и усекает до 10 символов.Перечисления с положительными и отрицательными значениями
Что я хотел знать, так это то, как отбросить здесь отрицательные числа и по-прежнему гарантировать, что все комбинации остаются уникальными. (например, некоторые значения перечисления, используемые в библиотеке ADO.NET, похоже, имеют отрицательные целые числа).
Я не думаю, что возможно получить функциональность флагов с отрицательными значениями. – MarcinJuraszek
Вы можете использовать 2 столбца. 1 для бита бит, а другой - бит для указания знака. – NoChance
Сколько бит вам нужно? Нужно ли обрабатывать биты в TSQL или все действия будут выполняться в коде приложения, например. C#? Существует некоторое обсуждение добавления UDF для обработки больших двоичных значений [здесь] (http://www.sql-questions.com/microsoft/SQL-Server-Programming/29207417/bitwise-operation-on-binary-datatypes.aspx) , – HABO