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-Datenbank
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 wirft seine Eingabe nicht, bevor die Bits gezählt werden. Da die binäre Darstellung derselben Zahl vom Datentyp abhängt, hängt das Ergebnis vom Eingabetyp ab.
Zum Beispiel geben die folgenden Abfragen jeweils und 32, zurück:16
SELECT BIT_COUNT(CAST (-1 AS SMALLINT)); -- Returns 16
SELECT BIT_COUNT(CAST (-1 AS INT)); -- Returns 32
BIT_COUNT gibt zurück, NULL wenn expression_value ein Typ NULL eines unterstützten Datentyps ist. Du musst ein untypisiertes NULL Literal auf einen unterstützten Typ wirken, bevor du es weitergibst:
SELECT BIT_COUNT(CAST (NULL AS INT)); -- Returns NULL
Hinweise
Verteilte Abfragefunktionen für Bitmanipulationsfunktionen innerhalb von verlinkten Servern 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 Handbuch zur Seiten- und Erweiterungsarchitektur.
Die Bitmanipulationsfunktionen arbeiten mit tinyint, smallint, int, bigint, binary(n)und varbinary(n) Datentypen. Diese Funktionen unterstützen keine großen Objekt-(LOB)-Datentypen wie varchar(max),nvarchar(max),varbinary(max), image, ntext, text, xml und common language (CLR) BLOB-Typen.
Beispiele
A. Berechnen von BIT_COUNT in einem Binärwert
Das folgende Beispiel berechnet die Anzahl der Bits, die in einem Binärwert gesetzt werden 1 .
SELECT BIT_COUNT(0xABCDEF) AS Count;
Das Ergebnis ist 17. Dieses Ergebnis tritt auf, weil 0xABCDEF im Binärbereich gilt 1010 1011 1100 1101 1110 1111, wobei 17 Bits auf 1gesetzt sind.
B. Berechnen von BIT_COUNT in einer ganzen Zahl
Das folgende Beispiel berechnet die Anzahl der Bits, die in einer ganzen Zahl gesetzt werden 1 .
SELECT BIT_COUNT(17) AS Count;
Das Ergebnis ist 2. Dieses Ergebnis tritt auf, weil 17 in Binären , 0001 0001, das nur zwei Bits hat, die auf 1gesetzt sind.