Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre: 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 egy paramétert vesz fel, és az adott paraméterben 1-esre beállított bitek számát adja vissza bigint típusként.
Transact-SQL szintaxis konvenciói
Szintaxis
BIT_COUNT ( expression_value )
Érvek
expression_value
Minden olyan egész szám vagy bináris kifejezés, amely nem nagy objektum (LOB).
Visszatérési típusok
bigint
BIT_COUNT a bitek számának megszámlálása előtt nem veti el a kódot. Ennek az az oka, hogy ugyanaz a szám az adattípustól függően eltérő számú is lehet a bináris ábrázolásban.
Például SELECT BIT_COUNT (CAST (-1 AS SMALLINT)) és SELECT BIT_COUNT (CAST (-1 AS INT))16 és 32 ad vissza. Ez a cél, mivel a -1 bináris ábrázolása az adattípustól függően eltérő számú bitet állíthat be 1.
Megjegyzések
A csatolt kiszolgálón belüli bitmanipulációs függvények elosztott lekérdezési funkciói vagy az alkalmi lekérdezések (OPENQUERY) nem támogatottak.
Az adatbázismotor nagyméretű objektum-adattípusai 8000 bájtnál nagyobb adatokat tárolhatnak. Ezek az adattípusok egy sorátfolyási adatoldalon tárolják az adatokat. A LOB olyan adattípusokat is magában foglal, amelyek dedikált LOB-lapstruktúrákban tárolják az adatokat, amelyek a LOB adatoldalakra mutató szöveg- vagy képmutatót használnak. Az adattárolással kapcsolatos további információkért tekintse meg a Lapok és mértékek architektúra útmutató.
A bitmanipulációs függvények a smallint, smallint, int, bigint, binary(n)és varbinary(n) adattípusokon működnek. Nagyméretű objektum (LOB) adattípusok, Például varchar(max), nvarchar(max), varbinary(max), kép, ntext, szöveg, xml-, valamint a közös nyelvi futtatókörnyezeti (CLR) BLOB-típusok nem támogatottak.
Példák
Egy. A BIT_COUNT kiszámítása bináris értékben
Az alábbi példában a bináris értékben 1 bitek száma lesz kiszámítva.
SELECT BIT_COUNT(0xabcdef) AS Count;
Az eredmény 17. Ennek az az oka, hogy a bináris 0xabcdef1010 1011 1100 1101 1110 1111, és 17 bit van, amelyek értéke 1.
B. A BIT_COUNT kiszámítása egész számban
Az alábbi példában az egész számban 1 értékre beállított bitek száma lesz kiszámítva.
SELECT BIT_COUNT(17) AS Count;
Az eredmény 2. Ennek az az oka, hogy a bináris 170001 0001, és csak 2 bit van, amelyek értéke 1.