BIT_COUNT (Transact SQL)
Aplica-se a:SQL Server 2022 (16.x) Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzurePonto de extremidade de análises SQL no Microsoft FabricWarehouse no Microsoft Fabric
BIT_COUNT usa um parâmetro e retorna o número de bits definido como 1 nesse parâmetro como um tipo bigint.
Convenções de sintaxe de Transact-SQL
Sintaxe
BIT_COUNT ( expression_value )
Argumentos
expression_value
Qualquer expressão binária ou de número inteiro que não seja um LOB (objeto grande).
Tipo de retorno
bigint
BIT_COUNT não é convertido antes de contar o número de bits. Isso ocorre porque o mesmo número pode ter uma quantidade diferente de números um em sua representação binária, dependendo do tipo de dados.
Por exemplo, SELECT BIT_COUNT (CAST (-1 as smallint))
e SELECT BIT_COUNT (CAST (-1 as int))
retornarão 16 e 32, respectivamente. Isso é esperado, pois a representação binária de -1
pode ter um número diferente de bits definidos como 1, dependendo do tipo de dados.
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).
Exemplos
a. Calcular o BIT_COUNT em um valor binário
No exemplo a seguir, é calculado o número de bits definido como 1
em um valor binário.
SELECT BIT_COUNT ( 0xabcdef ) as Count;
O resultado é 17
. Isso ocorre porque 0xabcdef
, no sistema binário, é 1010 1011 1100 1101 1110 1111
, e há 17 bits com um valor definido como 1
.
B. Calcular o BIT_COUNT em um número inteiro
No exemplo a seguir, é calculado o número de bits definidos como 1
em um número inteiro.
SELECT BIT_COUNT ( 17 ) as Count;
O resultado é 2
. Isso ocorre porque 17
, no sistema binário, é 0001 0001
, e há apenas 2 bits com um valor definido como 1
.
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