Operadores bit a bit (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
Os operadores bit a bit desempenham manipulações de bit entre duas expressões de qualquer um dos tipos de dados da categoria de tipo de dados inteiro.
Os operadores bit a bit convertem dois valores inteiros em bits binários, executam a operação AND
, OR
ou NOT
em cada bit, produzindo um resultado. Em seguida, eles convertem o resultado em um inteiro.
Por exemplo, o inteiro 170
é convertido no binário 1010 1010
.
O inteiro 75
é convertido no binário 0100 1011
.
Operador | Matemática bit a bit |
---|---|
AND Se os bits em qualquer posição forem 1 , o resultado será 1 . |
1010 1010 = 1700100 1011 = 75----------------- 0000 1010 = 10 |
OR Se um dos bits em qualquer posição for 1 , o resultado será 1 . |
1010 1010 = 1700100 1011 = 75----------------- 1110 1011 = 235 |
NOT Reverte o valor do bit em cada posição de bit. |
1010 1010 = 170----------------- 0101 0101 = 85 |
Os artigos a seguir fornecem mais informações sobre os operadores bit a bit disponíveis no Mecanismo de Banco de Dados:
- & (AND bit a bit)
- &= (Atribuição AND bit a bit)
- | (OR bit a bit)
- |= (Atribuição OR bit a bit)
- ^ (OR exclusivo bit a bit)
- ^= (Atribuição de OR exclusivo bit a bit)
- ~ (Não de bit a bit)
Os seguintes operadores bit a bit foram introduzidos no SQL Server 2022 (16.x):
Os operandos dos operadores bit a bit podem ser um dos tipos de dados das categorias de tipo de dados inteiro ou cadeia de caracteres binária (exceto o tipo de dados image), mas os operadores não podem ser um dos tipos de dados da categoria de tipo de dados de cadeia de caracteres binária. A tabela a seguir mostra os tipos de dados de operando com suporte.
Operando da esquerda | Operando da direita |
---|---|
binary | int, smallint ou tinyint |
bit | int, smallint, tinyint ou bits |
bigint | bigint, int, smallint, tinyint, binary ou varbinary |
int | int, smallint, tinyint, binary ou varbinary |
smallint | int, smallint, tinyint, binary ou varbinary |
tinyint | int, smallint, tinyint, binary ou varbinary |
varbinary | int, smallint ou tinyint |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de