побитовые операторы (Transact-SQL)Bitwise Operators (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ:даSQL Server (начиная с 2008)даБаза данных SQL AzureдаХранилище данных SQL AzureдаParallel Data WarehouseAPPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Побитовые операторы выполняют побитовые действия над двумя выражениями с любым типом данных, относящимся к категории типа данных integer.Bitwise operators perform bit manipulations between two expressions of any of the data types of the integer data type category.
Побитовые операторы преобразуют два целочисленных значения в двоичные разряды, выполняют операцию И, ИЛИ или НЕ с каждым разрядом и предоставляют результат.Bitwise operators convert two integer values to binary bits, perform the AND, OR, or NOT operation on each bit, producing a result. Затем результат преобразуется в целое число.Then converts the result to an integer.

Например, целое число 170 преобразуется в двоичное число 1010 1010.For example, the integer 170 converts to binary 1010 1010. Целое число 75 преобразуется в двоичное число 0100 1011.The integer 75 converts to binary 0100 1011.

операторoperator побитовая операцияbitwise math
ANDAND
Если оба бита в определенной позиции равны 1, результат равен 1.If bits at any location are both 1, the result is 1.
1010 1010 = 1701010 1010 = 170
0100 1011 = 750100 1011 = 75
-----------------
0000 1010 = 100000 1010 = 10
OROR
Если хотя бы один бит в определенной позиции равен 1, результат равен 1.If either bit at any location is 1, the result is 1.
1010 1010 = 1701010 1010 = 170
0100 1011 = 750100 1011 = 75
-----------------
1110 1011 = 2351110 1011 = 235
NOTNOT
Меняет значение бита в каждой позиции на противоположное.Reverses the bit value at every bit location.
1010 1010 = 1701010 1010 = 170
-----------------
0101 0101 = 850101 0101 = 85

См. следующие статьи:See the following topics:

Операнды побитовых операторов могут принадлежать к любому из целочисленных типов данных или к категории типов данных "двоичная строка" (кроме типа данных image), однако оба операнда не могут относиться к типам данных из категории "двоичная строка".The operands for bitwise operators can be any one of the data types of the integer or binary string data type categories (except for the image data type), except that both operands cannot be any one of the data types of the binary string data type category. Следующая таблица показывает поддерживаемые типы данных операндов.The following table shows the supported operand data types.

Левый операндLeft operand Правый операндRight operand
binarybinary int, smallint или tinyintint, smallint, or tinyint
bitbit int, smallint, tinyint или bitint, smallint, tinyint, or bit
bigintbigint int, smallint, tinyint, binary или varbinaryint, smallint, tinyint, binary, or varbinary
intint int, smallint, tinyint, binary или varbinaryint, smallint, tinyint, binary, or varbinary
smallintsmallint int, smallint, tinyint, binary или varbinaryint, smallint, tinyint, binary, or varbinary
tinyinttinyint int, smallint, tinyint, binary или varbinaryint, smallint, tinyint, binary, or varbinary
varbinaryvarbinary int, smallint или tinyintint, smallint, or tinyint

См. также:See Also

Операторы (Transact-SQL) Operators (Transact-SQL)
Типы данных (Transact-SQL) Data Types (Transact-SQL)
Составные операторы (Transact-SQL)Compound Operators (Transact-SQL)