| (OR bit a bit) (Transact-SQL)
Aplica-se a: SQL Server
Banco de Dados
SQL do Azure Instância Gerenciada de SQL do
Azure Azure Synapse Analytics
PDW (Analytics Platform System)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Executa uma operação OR lógica bit a bit entre dois valores inteiros especificados, conforme convertidos em expressões binárias, nas instruções Transact-SQL.
Convenções de sintaxe de Transact-SQL
Sintaxe
expression | expression
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
expressão
É qualquer expression válida da categoria de tipo de dados inteiro ou dos tipos de dados bit, binary ou varbinary. expression é tratada como um número binário para a operação bit a bit.
Observação
Apenas uma expression pode ser do tipo de dados binary ou varbinary em uma operação bit a bit.
Tipos de resultado
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.
Comentários
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. 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.
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. Neste exemplo, a smallintexpression é convertida em um int.
Exemplos
O exemplo a seguir cria uma tabela com tipos de dados int para mostrar os valores originais e coloca a tabela em uma linha.
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.
SELECT a_int_value | b_int_value
FROM bitwise;
GO
Este é o conjunto de resultados.
-----------
235
(1 row(s) affected)
A representação binária de 170 (a_int_value ou A
, abaixo) é 0000 0000 1010 1010
. A representação binária de 75 (b_int_value ou B
, abaixo) é 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.
(A | B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 1011
Consulte Também
Operadores (Transact-SQL)
Operadores bit a bit (Transact-SQL)
|= (Atribuição de OR bit a bit) (Transact-SQL)
Operadores compostos (Transact-SQL)