| (Побитовое ИЛИ) (Transact-SQL)| (Bitwise OR) (Transact-SQL)

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

Выполняет побитовую логическую операцию OR для двух указанных целочисленных значений, которые преобразуются в двоичные выражения в инструкциях Transact-SQLTransact-SQL.Performs a bitwise logical OR operation between two specified integer values as translated to binary expressions within Transact-SQLTransact-SQL statements.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

expression | expression  

АргументыArguments

expressionexpression
Любое допустимое выражение категории целочисленных типов данных либо типа данных bit, binary или varbinary.Is any valid expression of the integer data type category, or the bit, binary, or varbinary data types. expression трактуется как двоичное числовое значение для выполнения побитовой операции.expression is treated as a binary number for the bitwise operation.

Примечание

В побитовой операции только одно выражение expression может иметь тип binary или varbinary.Only one expression can be of either binary or varbinary data type in a bitwise operation.

Типы результатаResult Types

Возвращает значение типа int, если входные значения имеют тип int, значение типа smallint, если входные значения имеют тип smallint, или значение типа tinyint, если входные значения имеют тип tinyint.Returns an int if the input values are int, a smallint if the input values are smallint, or a tinyint if the input values are tinyint.

RemarksRemarks

Побитовый оператор «|» выполняет логическую операцию OR над двумя выражениями, получая из них результат поразрядно.The bitwise | operator performs a bitwise logical OR between the two expressions, taking each corresponding bit for both expressions. Каждый бит результата устанавливаются в 1, если хотя бы один из исходных битов равен 1. Если оба исходных бита равны 0, бит результата будет равен нулю.The bits in the result are set to 1 if either or both bits (for the current bit being resolved) in the input expressions have a value of 1; if neither bit in the input expressions is 1, the bit in the result is set to 0.

Если левое и правое выражения принадлежат к различным целочисленным типам данных (например, левое выражение expression — к типу smallint, а правое выражение expression — к типу int), аргумент более короткого типа данных преобразовывается в более длинный тип данных.If the left and right expressions have different integer data types (for example, the left expression is smallint and the right expression is int), the argument of the smaller data type is converted to the larger data type. В этом примере smallintexpression преобразовывается в тип int.In this example, the smallintexpression is converted to an int.

ПримерыExamples

В приведенном ниже примере создается таблица с двумя столбцами исходных значений типа int, а затем в ней заполняется одна строка.The following example creates a table with int data types to show the original values and puts the table into one row.

CREATE TABLE bitwise  
(   
 a_int_value int NOT NULL,  
b_int_value int NOT NULL  
);  
GO  
INSERT bitwise VALUES (170, 75);  
GO  

Следующий запрос выполняет побитовую операцию ИЛИ со столбцами a_int_value и b_int_value.The following query performs the bitwise OR on the a_int_value and b_int_value columns.

SELECT a_int_value | b_int_value  
FROM bitwise;  
GO  

Ниже приводится результирующий набор.Here is the result set.

-----------   
235           

(1 row(s) affected)  

Двоичное представление числа 170 (a_int_value или A ниже) равно 0000 0000 1010 1010.The binary representation of 170 (a_int_value or A, below) is 0000 0000 1010 1010. Двоичное представление числа 75 (b_int_value или B ниже) равно 0000 0000 0100 1011.The binary representation of 75 (b_int_value or B, below) is 0000 0000 0100 1011. При выполнении побитовой операции OR над этими двумя значениями получается двоичный результат 0000 0000 1110 1011, что соответствует десятичному значению 235.Performing the bitwise OR operation on these two values produces the binary result 0000 0000 1110 1011, which is decimal 235.

(A | B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 1110 1011  

См. также:See Also

Операторы (Transact-SQL) Operators (Transact-SQL)
Побитовые операторы (Transact-SQL) Bitwise Operators (Transact-SQL)
|= (присваивание побитового ИЛИ) (Transact-SQL) |= (Bitwise OR Assignment) (Transact-SQL)
Составные операторы (Transact-SQL)Compound Operators (Transact-SQL)