Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för: SQL Server 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
BIT_COUNT tar en parameter och returnerar antalet bitar som anges till 1 i parametern som en bigint- typ.
Transact-SQL syntaxkonventioner
Syntax
BIT_COUNT ( expression_value )
Argument
expression_value
Alla heltal eller binära uttryck som inte är ett stort objekt (LOB).
Returtyper
bigint
BIT_COUNT kastas inte innan antalet bitar räknas. Det beror på att samma tal kan ha ett annat antal i sin binära representation beroende på datatypen.
Till exempel returnerar SELECT BIT_COUNT (CAST (-1 AS SMALLINT)) och SELECT BIT_COUNT (CAST (-1 AS INT))16 respektive 32. Detta är avsett eftersom den binära representationen av -1 kan ha ett annat antal bitar inställda på 1 beroende på datatyp.
Anmärkningar
Funktioner för distribuerad fråga för bitmanipuleringsfunktioner i länkad server eller ad hoc-frågor (OPENQUERY) stöds inte.
Stora objektdatatyper (LOB) i databasmotorn kan lagra data som överstiger 8 000 byte. Dessa datatyper lagrar data på en rad-overflow datasida. En LOB omfattar även datatyper som lagrar data på dedikerade LOB-sidstrukturer, som använder en text eller en bildpekare med referenser på rad till LOB-datasidor. Mer information om datalagring finns i arkitekturguiden Sidor och omfattningar.
Bitmanipuleringsfunktionerna fungerar på tinyint, smallint, int, bigint, binary(n), och varbinary(n) datatyper. Stora objektdatatyper (LOB), till exempel varchar(max), nvarchar(max), varbinary(max), image, ntext, text, xmloch CLR-blobtyper (Common Language Runtime) stöds inte.
Exempel
A. Beräkna BIT_COUNT i ett binärt värde
I följande exempel beräknas antalet bitar som anges till 1 i ett binärt värde.
SELECT BIT_COUNT(0xabcdef) AS Count;
Resultatet är 17. Det beror på att 0xabcdef i binärt värde är 1010 1011 1100 1101 1110 1111och det finns 17 bitar med ett värde inställt på 1.
B. Beräkna BIT_COUNT i ett heltal
I följande exempel beräknas antalet bitar som anges till 1 i ett heltal.
SELECT BIT_COUNT(17) AS Count;
Resultatet är 2. Det beror på att 17 i binärt värde är 0001 0001, och det finns bara 2 bitar med ett värde inställt på 1.