Aracılığıyla paylaş


BIT_COUNT (Transact SQL)

Şunlar için geçerlidir: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL 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 sayısını saymadan önce yayın yapmaz. Bunun nedeni, aynı sayının veri türüne bağlı olarak ikili gösteriminde farklı sayıda bir sayıya sahip olmasıdır.

Örneğin, SELECT BIT_COUNT (CAST (-1 AS SMALLINT)) ve SELECT BIT_COUNT (CAST (-1 AS INT)) sırasıyla 16 ve 32 döndürür. -1 ikili gösterimi, veri türüne bağlı olarak 1 olarak ayarlanmış farklı sayıda bite sahip olabileceğinden bu amaçlanmıştır.

Açıklamalar

Bağlı sunucu veya geçici sorgular (OPENQUERY) içindeki bit işleme işlevleri için Dağıtılmış Sorgu işlevi 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 Sayfaları ve kapsamlar 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. varchar(max), nvarchar(max), varbinary(max), image, ntext, metin, xmlve ortak dil çalışma zamanı (CLR) BLOB türleri gibi büyük nesne (LOB) veri türleri desteklenmez.

Örnekler

A. İkili bir değerdeki BIT_COUNT hesaplama

Aşağıdaki örnekte, ikili değerde 1 olarak ayarlanan bit sayısı hesaplanır.

SELECT BIT_COUNT(0xabcdef) AS Count;

Sonuç 17. Bunun nedeni, ikili 0xabcdef1010 1011 1100 1101 1110 1111olması ve değeri 1olarak ayarlanmış 17 bit olmasıdır.

B. Tamsayıdaki BIT_COUNT hesaplama

Aşağıdaki örnekte, bir tamsayıda 1 olarak ayarlanan bit sayısı hesaplanır.

SELECT BIT_COUNT(17) AS Count;

Sonuç 2. Bunun nedeni, ikili 170001 0001olması ve değeri 1olarak ayarlanmış yalnızca 2 bit olmasıdır.