Bagikan melalui


BIT_COUNT (Bertransaksi SQL)

Berlaku untuk: SQL Server 2022 (16.x) Azure SQL Database AzureSQL Managed InstanceTitik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft FabricSQL database di Microsoft Fabric

BIT_COUNT mengambil satu parameter dan mengembalikan jumlah bit yang diatur ke 1 dalam parameter tersebut sebagai jenis bigint.

Konvensi sintaks transact-SQL

Sintaks

BIT_COUNT ( expression_value )

Argumen

expression_value

Bilangan bulat atau ekspresi biner apa pun yang bukan objek besar (LOB).

Jenis pengembalian

bigint

BIT_COUNT tidak dilemparkan, sebelum menghitung jumlah bit. Ini karena angka yang sama dapat memiliki jumlah yang berbeda dalam representasi binernya tergantung pada jenis data.

Misalnya, SELECT BIT_COUNT (CAST (-1 AS SMALLINT)) dan SELECT BIT_COUNT (CAST (-1 AS INT)) mengembalikan 16 dan 32 masing-masing. Ini dimaksudkan, karena representasi biner -1 dapat memiliki jumlah bit yang berbeda yang diatur ke 1 tergantung pada jenis data.

Keterangan

Fungsionalitas Kueri Terdistribusi untuk fungsi manipulasi bit dalam server tertaut atau kueri ad hoc (OPENQUERY) tidak didukung.

Jenis data objek besar (LOB) di Mesin Database dapat menyimpan data yang melebihi 8.000 byte. Jenis data ini menyimpan data pada halaman data luapan baris. LOB juga mencakup jenis data yang menyimpan data pada struktur halaman LOB khusus, yang menggunakan teks atau penunjuk gambar referensi dalam baris ke halaman data LOB. Untuk informasi selengkapnya tentang penyimpanan data, lihat panduan arsitektur Halaman dan tingkat.

Fungsi manipulasi bit beroperasi pada kecil, smallint , int, bigint, biner (n), dan varbinary(n) jenis data. Jenis data objek besar (LOB), seperti varchar(max), nvarchar(max), varbinary(max), gambar, ntext, teks, xml, dan jenis BLOB runtime bahasa umum (CLR), tidak didukung.

Contoh

J. Menghitung BIT_COUNT dalam nilai biner

Dalam contoh berikut, jumlah bit yang diatur ke 1 dalam nilai biner dihitung.

SELECT BIT_COUNT(0xabcdef) AS Count;

Hasilnya adalah 17. Ini karena 0xabcdef dalam biner adalah 1010 1011 1100 1101 1110 1111, dan ada 17 bit dengan nilai yang diatur ke 1.

B. Menghitung BIT_COUNT dalam bilangan bulat

Dalam contoh berikut, jumlah bit yang diatur ke 1 dalam bilangan bulat dihitung.

SELECT BIT_COUNT(17) AS Count;

Hasilnya adalah 2. Ini karena 17 dalam biner adalah 0001 0001, dan hanya ada 2 bit dengan nilai yang diatur ke 1.