BIT_COUNT (T-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 melemparkan inputnya sebelum menghitung bit. Karena representasi biner dari angka yang sama bergantung pada tipe datanya, hasilnya tergantung pada jenis input.

Misalnya, kueri berikut masing-masing mengembalikan 16 dan 32,

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

BIT_COUNT mengembalikan NULL ketika expression_value diketik NULL dari tipe data yang didukung. Anda harus mentransmisikan literal yang tidak diketik NULL ke jenis yang didukung sebelum meneruskannya:

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

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. Fungsi-fungsi ini tidak mendukung tipe data objek besar (LOB), seperti jenis BLOB varchar(max), nvarchar(max), varbinary(max), image, ntext, text, xml, dan Common Language runtime (CLR).

Contoh

J. Menghitung BIT_COUNT dalam nilai biner

Contoh berikut menghitung jumlah bit yang diatur ke 1 dalam nilai biner.

SELECT BIT_COUNT(0xABCDEF) AS Count;

Hasilnya adalah 17. Hasil ini terjadi karena 0xABCDEF dalam biner adalah 1010 1011 1100 1101 1110 1111, yang memiliki 17 bit diatur ke 1.

B. Menghitung BIT_COUNT dalam bilangan bulat

Contoh berikut menghitung jumlah bit yang diatur ke 1 dalam bilangan bulat.

SELECT BIT_COUNT(17) AS Count;

Hasilnya adalah 2. Hasil ini terjadi karena 17 dalam biner adalah 0001 0001, yang hanya memiliki dua bit yang diatur ke 1.