Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2022 (16.x)
Azure SQL Database
AzureSQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database in Microsoft Fabric
BIT_COUNT přebírá jeden parametr a vrací počet bitů nastavených na 1 v daném parametru jako typ bigint.
Syntax
BIT_COUNT ( expression_value )
Argumenty
expression_value
Jakékoli celé číslo nebo binární výraz, který není velkým objektem (LOB).
Návratové typy
bigint
BIT_COUNT Neodesílá svůj vstup před počítáním bitů. Protože binární reprezentace stejného čísla závisí na jeho datovém typu, výsledek závisí na typu vstupu.
Například následující dotazy vracejí 16 a 32, resp.
SELECT BIT_COUNT(CAST (-1 AS SMALLINT)); -- Returns 16
SELECT BIT_COUNT(CAST (-1 AS INT)); -- Returns 32
BIT_COUNT vrací NULL, když expression_value je typován NULL podporovaným datovým typem. Musíte seslat netypovaný NULL literál na podporovaný typ, než ho předáte do druhu:
SELECT BIT_COUNT(CAST (NULL AS INT)); -- Returns NULL
Poznámky
Distribuovaná funkce dotazů pro funkce úpravy bitů v rámci propojeného serveru nebo ad hoc dotazů (OPENQUERY) nejsou podporovány.
Velké datové typy objektu (LOB) v databázovém stroji mohou ukládat data, která překračují 8 000 bajtů. Tyto datové typy ukládají data na přetečení řádku datové stránce. Obchodní objekt také zahrnuje datové typy, které ukládají data ve vyhrazených strukturách obchodních stránek, které používají text nebo ukazatel obrázku odkazů na řádkové odkazy na datové stránky LOB. Další informace o úložišti dat najdete v průvodci architekturou stránky a rozsahu.
Funkce manipulace s bity pracují s tinyint, smallint, int, bigint, binary(n)a varbinary(n) datových typů. Tyto funkce nepodporují velké objektové (LOB) datové typy, jako jsou varchar(max),nvarchar(max),varbinary(max),image, ntext, text, xml a běžné běžné (CLR) typy BLOB v běžném jazyce.
Příklady
A. Výpočet BIT_COUNT v binární hodnotě
Následující příklad vypočítává počet bitů nastavených na v 1 binární hodnotě.
SELECT BIT_COUNT(0xABCDEF) AS Count;
Výsledek je 17. Tento výsledek nastává, protože 0xABCDEF v binárním je , 1010 1011 1100 1101 1110 1111který má 17 bitů nastavených na .1
B. Výpočet BIT_COUNT v celočíselném čísle
Následující příklad vypočítává počet bitů nastavených na v 1 celém čísle.
SELECT BIT_COUNT(17) AS Count;
Výsledek je 2. Tento výsledek nastává, protože 17 v binárním je , 0001 0001který má pouze dva bity nastavené na .1
Související obsah
- LEFT_SHIFT (Transact-SQL)
- RIGHT_SHIFT (Transact-SQL)
- SET_BIT (Transact-SQL)
- GET_BIT (Transact-SQL)
- funkce manipulace s bity