Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2022 (16.x)
database SQL di Azure
AzureSQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric SQL
database in Microsoft Fabric
BIT_COUNT accetta un parametro e restituisce il numero di bit impostati su 1 in tale parametro come tipo bigint.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
BIT_COUNT ( expression_value )
Argomenti
expression_value
Qualsiasi espressione integer o binaria che non è un oggetto di grandi dimensioni (LOB).
Tipi restituiti
bigint
BIT_COUNT Non invia il suo input prima di contare i bit. Poiché la rappresentazione binaria dello stesso numero dipende dal tipo di dato, il risultato dipende dal tipo di input.
Ad esempio, le seguenti query restituiscono 16 e 32, rispettivamente:
SELECT BIT_COUNT(CAST (-1 AS SMALLINT)); -- Returns 16
SELECT BIT_COUNT(CAST (-1 AS INT)); -- Returns 32
BIT_COUNT ritorna NULL quando expression_value è un tipo NULL di dato supportato. Devi convogliare un letterale non tipizzato NULL a un tipo supportato prima di passarlo:
SELECT BIT_COUNT(CAST (NULL AS INT)); -- Returns NULL
Osservazioni:
La funzionalità di query distribuita per le funzioni di manipolazione dei bit all'interno del server collegato o le query ad hoc (OPENQUERY) non sono supportate.
I tipi di dati LOB (Large Object) nel motore di database possono archiviare dati che superano 8.000 byte. Questi tipi di dati archiviano i dati in una pagina di overflow di righe dati. Un line-of-business include anche i tipi di dati che archivia i dati in strutture di pagine LINEB dedicate, che usano un puntatore di testo o immagine di riferimenti in riga alle pagine di dati LINEB. Per altre informazioni sull'archiviazione dei dati, vedere la Guida all'architettura di pagine e extent.
Le funzioni di manipolazione dei bit operano sui tinyint, smallint, int, bigint, binary(n)e varbinary(n). Queste funzioni non supportano tipi di dati a oggetti grandi (LOB), come varchar(max),nvarchar(max),varbinary(max),image, ntext, text,xml e i tipi BLOB in tempo reale comune (CLR).
Esempi
R. Calcolare BIT_COUNT in un valore binario
Il seguente esempio calcola il numero di bit impostati a 1 in un valore binario.
SELECT BIT_COUNT(0xABCDEF) AS Count;
Il risultato è 17. Questo risultato si verifica perché 0xABCDEF in binario è 1010 1011 1100 1101 1110 1111, che ha 17 bit impostati su 1.
B. Calcolare BIT_COUNT in un intero
Il seguente esempio calcola il numero di bit impostati a 1 in un intero.
SELECT BIT_COUNT(17) AS Count;
Il risultato è 2. Questo risultato si verifica perché 17 in binario è 0001 0001, che ha solo due bit impostati su 1.