BIT_COUNT (Transact SQL)
van toepassing op: SQL Server 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
BIT_COUNT
neemt één parameter en retourneert het aantal bits dat is ingesteld op 1 in die parameter als een bigint type.
Transact-SQL syntaxisconventies
Syntaxis
BIT_COUNT ( expression_value )
Argumenten
expression_value
Een geheel getal of binaire expressie die geen groot object is (LOB-).
Retourtypen
grote
BIT_COUNT
niet cast, voordat het aantal bits wordt geteld. Dit komt doordat hetzelfde getal een ander aantal kan hebben in de binaire weergave, afhankelijk van het gegevenstype.
Zo retourneren SELECT BIT_COUNT (CAST (-1 AS SMALLINT))
en SELECT BIT_COUNT (CAST (-1 AS INT))
respectievelijk 16
en 32
. Dit is bedoeld, omdat de binaire weergave van -1
een ander aantal bits kan hebben ingesteld op 1
, afhankelijk van het gegevenstype.
Opmerkingen
Gedistribueerde queryfunctionaliteit voor de bitbewerkingsfuncties binnen gekoppelde server of ad-hocquery's (OPENQUERY
) worden niet ondersteund.
Grote objectgegevenstypen (LOB) in de database-engine kunnen gegevens opslaan die groter zijn dan 8000 bytes. Met deze gegevenstypen worden gegevens opgeslagen op een rij-overlooppagina gegevenspagina. Een LOB omvat ook gegevenstypen waarin gegevens worden opgeslagen in toegewezen LOB-paginastructuren, die een tekst- of afbeeldingsaanwijzer van in-rijverwijzingen naar LOB-gegevenspagina's gebruiken. Zie de architectuurhandleiding voor Pagina's en gebieden voor meer informatie over gegevensopslag.
De bitmanipulatiefuncties werken op de tinyint, smallint, int, bigint, binary(n)en varbinary(n) gegevenstypen. Grote objectgegevenstypen (LOB), zoals varchar(max), nvarchar(max), varbinary(max), afbeelding, ntext, tekst, XML-en CLR-blobtypen (Common Language Runtime) worden niet ondersteund.
Voorbeelden
Een. De BIT_COUNT in een binaire waarde berekenen
In het volgende voorbeeld wordt het aantal bits dat is ingesteld op 1
in een binaire waarde berekend.
SELECT BIT_COUNT(0xabcdef) AS Count;
Het resultaat is 17
. Dit komt doordat 0xabcdef
in binair bestand 1010 1011 1100 1101 1110 1111
is en er 17 bits zijn met een waarde die is ingesteld op 1
.
B. De BIT_COUNT in een geheel getal berekenen
In het volgende voorbeeld wordt het aantal bits dat is ingesteld op 1
in een geheel getal berekend.
SELECT BIT_COUNT(17) AS Count;
Het resultaat is 2
. Dit komt doordat 17
in binair bestand is 0001 0001
en er slechts 2 bits zijn met een waarde die is ingesteld op 1
.
Verwante inhoud
- LEFT_SHIFT (Transact SQL)
- RIGHT_SHIFT (Transact SQL)
- SET_BIT (Transact SQL)
- GET_BIT (Transact SQL)
- bitmanipulatiefuncties