Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric SQL database
in Microsoft Fabric
BIT_COUNT verwendet einen Parameter und gibt die Anzahl der Bits zurück, die in diesem Parameter als bigint Typ auf 1 festgelegt sind.
Transact-SQL-Syntaxkonventionen
Syntax
BIT_COUNT ( expression_value )
Argumente
expression_value
Ein ganzzahliger oder binärer Ausdruck, der kein großes Objekt ist (LOB-).
Rückgabetypen
bigint
BIT_COUNT wird nicht gegossen, bevor die Anzahl der Bits gezählt wird. Dies liegt daran, dass dieselbe Zahl je nach Datentyp eine andere Anzahl von Einsen in ihrer Binärdarstellung aufweisen kann.
Beispielsweise geben SELECT BIT_COUNT (CAST (-1 AS SMALLINT)) bzw. SELECT BIT_COUNT (CAST (-1 AS INT))16 bzw. 32 zurück. Dies ist vorgesehen, da die binäre Darstellung von -1 je nach Datentyp eine andere Anzahl von Bits auf 1 festgelegt haben kann.
Hinweise
Verteilte Abfragefunktionen für die Bitmanipulationsfunktionen in verknüpften Server- oder Ad-hoc-Abfragen (OPENQUERY) werden nicht unterstützt.
Datentypen für große Objekte (LOB) im Datenbankmodul können Daten speichern, die 8.000 Bytes überschreiten. Diese Datentypen speichern Daten auf einer Zeilenüberlauf Datenseite. Ein LOB umfasst auch Datentypen, die Daten in dedizierten BRANCHENseitenstrukturen speichern, die einen Text oder einen Bildzeiger von In-Zeilen-Verweisen auf LOB-Datenseiten verwenden. Weitere Informationen zur Datenspeicherung finden Sie im Pages and extents architecture guide.
Die Bitmanipulationsfunktionen arbeiten mit tinyint, smallint, int, bigint, binary(n)und varbinary(n) Datentypen. Datentypen für große Objekte (LOB), z. B. varchar(max), nvarchar(max), varbinary(max), Bild, ntext, Text, XML-und CLR-BLOB-Typen (Common Language Runtime) werden nicht unterstützt.
Beispiele
A. Berechnen von BIT_COUNT in einem Binärwert
Im folgenden Beispiel wird die Anzahl der in einem Binärwert auf 1 festgelegten Bits berechnet.
SELECT BIT_COUNT(0xabcdef) AS Count;
Das Ergebnis ist 17. Dies liegt daran, dass 0xabcdef in Binärdarstellung 1010 1011 1100 1101 1110 1111 ist, und 17 Bits mit einem auf 1 festgelegten Wert vorhanden sind.
B. Berechnen von BIT_COUNT in einer ganzen Zahl
Im folgenden Beispiel wird die Anzahl der in einer ganzen Zahl auf 1 festgelegten Bits berechnet.
SELECT BIT_COUNT(17) AS Count;
Das Ergebnis ist 2. Dies liegt daran, dass 17 in Binärdarstellung 0001 0001 ist, und nur 2 Bits mit einem auf 1 festgelegten Wert vorhanden sind.