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 nem adja a bemenetét a bitek számolása előtt. Mivel ugyanannak a számnak a bináris ábrázolása az adattípustól függ, az eredmény a bemeneti típustól függ.
Például a következő lekérdezések és , következőleg visszaadódnak 1632:
SELECT BIT_COUNT(CAST (-1 AS SMALLINT)); -- Returns 16
SELECT BIT_COUNT(CAST (-1 AS INT)); -- Returns 32
BIT_COUNT akkor jelenik meg, NULLamikor expression_value támogatott adattípus típusa NULL . A támogatott típusra kell egy típus nélküli NULL literal-t kibocsátani, mielőtt átadnád azt:
SELECT BIT_COUNT(CAST (NULL AS INT)); -- Returns NULL
Megjegyzések
A bitmanipulációs funkciók elosztott lekérdezési funkciói a linked szerveren vagy ad hoc lekérdezésekben (OPENQUERY) nem támogatott.
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 Lap és a Mérték architektúra útmutatót.
A bitmanipulációs függvények a smallint, smallint, int, bigint, binary(n)és varbinary(n) adattípusokon működnek. Ezek a függvények nem támogatják a nagy objektum (LOB) adattípusokat, mint például varchar(max), nvarchar(max),varbinary(max),image, ntext, text, xml és common language runtime (CLR) BLOB típusok.
Példák
Egy. A BIT_COUNT kiszámítása bináris értékben
A következő példa kiszámítja, hány bitet állítanak 1 be bináris értékben.
SELECT BIT_COUNT(0xABCDEF) AS Count;
Az eredmény 17. Ez az eredmény azért fordul elő, 0xABCDEF mert a binárisban 1010 1011 1100 1101 1110 1111, amelynek 17 bitje van beállítva.1
B. A BIT_COUNT kiszámítása egész számban
A következő példa kiszámítja a bitek számát egy egész számban.1
SELECT BIT_COUNT(17) AS Count;
Az eredmény 2. Ez az eredmény azért következik be, 17 mert bináris esetben 0001 0001, amelynek csak két bitje van beállítva.1