Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Depósito no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
Executa uma operação exclusiva OR lógica bit a bit entre dois valores inteiros.
Convenções de sintaxe de Transact-SQL
Syntax
expression ^ expression
Arguments
expression
Qualquer expressão válida de qualquer um dos tipos de dados da categoria de tipo de dados inteiro, ou o bit, ou os tipos de dados binários ou varbinary . expression é tratada como um número binário para a operação bit a bit.
Note
Apenas uma expression pode ser do tipo de dados binary ou varbinary em uma operação bit a bit.
Tipos de retorno
int se os valores de entrada são int.
smallint se os valores de entrada são smallint.
tinyint se os valores de entrada são tinyint.
Remarks
O ^ operador bit a bit executa uma exclusiva OR lógica bit a bit entre as duas expressões, tomando cada bit correspondente para ambas as expressões. Os bits no resultado são definidos 1 como se ambos (mas não ambos) bits (para o bit atual que está sendo resolvido) nas expressões de entrada têm um valor de 1. Se ambos os bits forem 0 ou ambos os bits estiverem 1, o bit no resultado será limpo para um valor igual 0a .
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. Nesse caso, a expressãosmallint é convertida em um int.
Examples
O exemplo a seguir cria uma tabela usando o tipo de dados int para armazenar os valores originais e insere os dois valores 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 exclusivo OR bit a bit nas colunas e no a_int_value bit b_int_value .
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Veja a seguir o conjunto de resultados.
-----------
225
A representação binária de 170 (a_int_value ou A) é 0000 0000 1010 1010. A representação binária de 75 (b_int_value ou B) é 0000 0000 0100 1011. Executar a operação exclusiva OR bit a bit nesses dois valores produz o resultado 0000 0000 1110 0001binário, que é decimal 225.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001