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 2022 (16.x)
Azure SQL Database
AzureSQL Managed
Instance SQL Analytics endpoint em Microsoft Fabric
Warehouse em Microsoft Fabric Database
SQL em Microsoft Fabric
Funções de manipulação de bits, como mover, recuperar (obter), definir ou contar bits únicos dentro de um valor inteiro ou binário, permitem processar e armazenar dados com mais eficiência do que com bits individuais.
Um bit tem dois valores (1 ou 0, que representam on ou off, ou true ou false). Um byte é composto por uma sequência de 8 bits. As funções de manipulação de bits no SQL Server tratam o bit "mais à esquerda" em um byte como o maior (o mais significativo). Para as funções de manipulação de bits, os bits são numerados da direita para a esquerda, sendo o bit 0 o mais à direita e o menor, e o bit 7, o mais à esquerda e o maior.
Por exemplo, uma sequência binária de 00000111 é o equivalente decimal do número 7. Você pode calcular isso usando potências de 2 da seguinte maneira:
00000111 = (2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7)
O que isso significa na prática é que, embora o SQL Server armazene esse valor como 11100000 (invertido por bytes), as funções de manipulação de bits o tratarão como se fosse 00000111.
Ao examinar vários bytes, o primeiro byte (lendo da esquerda para a direita) é o maior.
Você pode usar as imagens a seguir para visualizar como as funções de manipulação de bits do SQL Server interpretam valores de expressão de bit e byte e deslocamentos de bits.
int
smallint
Functions
Há cinco funções disponíveis para manipular bits no SQL Server:
Todas as cinco funções destinam-se a operar em tipos de dados tinyint, smallint, int, bigint, binary(n) e varbinary(n).
Não há suporte para os seguintes tipos: varchar, nvarchar, image, ntext, text, xml e table.
Comentários
Na implementação inicial, não haverá suporte para a funcionalidade de Consulta Distribuída para as funções de manipulação de bits no servidor vinculado ou em consultas ad hoc (OPENQUERY).