BIT_COUNT (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2022 (16.x) Azure SQL VeritabanıAzure SQL Yönetilen ÖrneğiSQL analytics endpoint in Microsoft FabricWarehouse in Microsoft FabricSQL database in Microsoft Fabric

BIT_COUNT bir parametre alır ve bu parametrede 1 olarak ayarlanan bit sayısını bigint türü olarak döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

BIT_COUNT ( expression_value )

Bağımsız değişken

expression_value

Büyük bir nesne olmayan herhangi bir tamsayı veya ikili ifade (LOB).

Dönüş türleri

bigint

BIT_COUNT Bit saymadan girdisini yayın yapmaz. Aynı sayının ikili temsili veri tipine bağlı olduğundan, sonuç giriş türüne bağlıdır.

Örneğin, aşağıdaki sorgular sırasıyla ve 32, döndürür16:

SELECT BIT_COUNT(CAST (-1 AS SMALLINT)); -- Returns 16
SELECT BIT_COUNT(CAST (-1 AS INT)); -- Returns 32

BIT_COUNT expression_valueNULL desteklenen bir veri tipi olduğunda geri dönerNULL. Desteklenen bir tipe yazılmamış NULL literal atmalısınız ve sonra onu vermelisiniz:

SELECT BIT_COUNT(CAST (NULL AS INT)); -- Returns NULL

Açıklamalar

Bağlı sunucu veya ad hoc sorgularOPENQUERY () içindeki bit işleme fonksiyonları için dağıtık sorgu işlevselliği desteklenmez.

Veritabanı Altyapısı'ndaki büyük nesne (LOB) veri türleri 8.000 bayt'ı aşan verileri depolayabilir. Bu veri türleri verileri satır taşması veri sayfasında depolar. LOB ayrıca, lob veri sayfalarına yapılan satır içi başvuruların metin veya görüntü işaretçisini kullanan ayrılmış LOB sayfa yapılarında veri depolayan veri türlerini de kapsar. Veri depolama hakkında daha fazla bilgi için Sayfa ve kapsam mimarisi kılavuzuna bakın.

Bit işleme işlevleri tinyint, smallint, int, bigint, binary(n)ve varbinary(n) ) veri türleri üzerinde çalışır. Bu fonksiyonlar, varchar(max), nvarchar(max), varbinary(max), image, ntext, text, xml ve common language (CLR) çalışma zamanı (CLR) BLOB türleri gibi büyük nesne (LOB) veri türlerini desteklemez.

Örnekler

A. İkili bir değerdeki BIT_COUNT hesaplama

Aşağıdaki örnek, ikili değerde ayarlanan bit 1 sayısını hesaplar.

SELECT BIT_COUNT(0xABCDEF) AS Count;

Sonuç 17. Bu sonuç, 0xABCDEF ikili 1010 1011 1100 1101 1110 1111içinde , 17 bitin ayarlanmasıyla 1ortaya çıkar.

B. Tamsayıdaki BIT_COUNT hesaplama

Aşağıdaki örnek 1 , tam sayıdaki bit sayısını hesaplar.

SELECT BIT_COUNT(17) AS Count;

Sonuç 2. Bu sonuç, 17 ikili 0001 0001içinde , yalnızca iki bitin ayarlanmasıyla 1oluşur.