| (OR bit a bit) (Transact-SQL)| (Bitwise OR) (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Executa uma operação OR lógica bit a bit entre dois valores inteiros especificados, conforme convertidos em expressões binárias dentro de instruções Transact-SQLTransact-SQL.Performs a bitwise logical OR operation between two specified integer values as translated to binary expressions within Transact-SQLTransact-SQL statements.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

expression | expression  

ArgumentosArguments

expressãoexpression
É qualquer expression válida da categoria de tipo de dados inteiro ou dos tipos de dados bit, binary ou varbinary.Is any valid expression of the integer data type category, or the bit, binary, or varbinary data types. expression é tratada como um número binário para a operação bit a bit.expression is treated as a binary number for the bitwise operation.

Observação

Apenas uma expression pode ser do tipo de dados binary ou varbinary em uma operação bit a bit.Only one expression can be of either binary or varbinary data type in a bitwise operation.

Tipos de resultadoResult Types

Retorna um int se os valores de entrada são int, um smallint se os valores de entrada são smallint ou um tinyint se os valores de entrada são 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

O operador bit a bit | executa um OR lógico bit a bit entre as duas expressões, usando cada bit correspondente para as duas expressões.The bitwise | operator performs a bitwise logical OR between the two expressions, taking each corresponding bit for both expressions. Os bits no resultado serão definidos como 1 se um ou os dois bits (para o bit atual a ser resolvido) nas expressões de entrada tiverem o valor 1; se nenhum bit nas expressões de entrada for 1, o bit no resultado será definido como 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.

Se as expressões à esquerda e à direita tiverem tipos de dados inteiros diferentes (por exemplo, a expression à esquerda é smallint e a expression à direita é int), o argumento do tipo de dados menor será convertido no tipo de dados maior.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. Neste exemplo, a smallintexpression é convertida em um int.In this example, the smallintexpression is converted to an int.

ExemplosExamples

O exemplo a seguir cria uma tabela com tipos de dados int para mostrar os valores originais e coloca a tabela em uma linha.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 consulta a seguir executa o OR bit a bit nas colunas a_int_value e 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  

Aqui está o conjunto de resultados.Here is the result set.

-----------   
235           
  
(1 row(s) affected)  

A representação binária de 170 (a_int_value ou A, abaixo) é 0000 0000 1010 1010.The binary representation of 170 (a_int_value or A, below) is 0000 0000 1010 1010. A representação binária de 75 (b_int_value ou B, abaixo) é 0000 0000 0100 1011.The binary representation of 75 (b_int_value or B, below) is 0000 0000 0100 1011. A execução da operação OR bit a bit nesses dois valores produz o resultado binário 0000 0000 1110 1011, que é o decimal 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  

Consulte TambémSee Also

Operadores (Transact-SQL) Operators (Transact-SQL)
Operadores bit a bit (Transact-SQL) Bitwise Operators (Transact-SQL)
|= (Atribuição de OR bit a bit) (Transact-SQL) |= (Bitwise OR Assignment) (Transact-SQL)
Operadores compostos (Transact-SQL)Compound Operators (Transact-SQL)