MySQL中的BIT_COUNT()函數用於返回給定輸入中有效的位數。活動位可以算作二進製數中的1。
用法:
BIT_COUNT(number)
參數:此方法僅接受一個參數。
- number -
輸入要計算其有效位數的整數。
返回值:它返回數字中設置的有效位數。
示例1:
使用BIT_COUNT函數查找數字0的有效位數。由於給定輸入的等效二進製數為0,所以等效二進製數中的1的數目也為0。因此,這裏我們將獲得0個有效位。
SELECT BIT_COUNT(0) AS ActiveBits;
輸出:
ACTIVEBITS |
---|
0 |
示例-2:
使用BIT_COUNT函數查找編號14的有效位數。我們知道14的等效二進製表示形式是1110。在這裏我們可以看到存在的1的數量是3。因此,結果將是3。
SELECT BIT_COUNT(14) AS ActiveBits;
輸出:
ACTIVEBITS |
---|
3 |
示例3:
使用BIT_COUNT函數查找以下二進製數的有效位數。由於以下示例中的數字1分別為0、1、4和7,因此我們將得到0、1、4和7個有效位。
SELECT BIT_COUNT(b'0000') AS ActiveBits1, BIT_COUNT(b'00100') AS ActiveBits2, BIT_COUNT(b'01010101') AS ActiveBits3, BIT_COUNT(b'1111111') AS ActiveBits4;
輸出:
活動位1 | 活動位2 | 活動位3 | 活動位4 |
---|---|---|---|
0 | 1 | 4 | 7 |
示例4:
BIT_COUNT函數也可用於列數據。為了演示,創建一個名為HolidayDetails的表。
CREATE TABLE HolidayDetails ( Holiday_id INT AUTO_INCREMENT, YearDetails YEAR(4), MonthDetails INT(2) UNSIGNED ZEROFILL, DayDetails INT(2) UNSIGNED ZEROFILL, PRIMARY KEY(Holiday_id));
在HolidayDetails表中插入一些數據-
INSERT INTO HolidayDetails (YearDetails, MonthDetails, DayDetails) VALUES (2021, 1, 1), (2021, 1, 14), (2021, 1, 26), (2021, 2, 19), (2021, 2, 21), (2021, 3, 10);
因此,HolidayDetails表如下-
SELECT * from HolidayDetails;
HOLIDAY_ID | YEARDETAILS | MONTHDETAILS | DAYDETAILS |
---|---|---|---|
1 | 2021 | 1 | 1 |
2 | 2021 | 1 | 14 |
3 | 2021 | 1 | 26 |
4 | 2021 | 2 | 19 |
5 | 2021 | 2 | 21 |
6 | 2021 | 3 | 10 |
現在我們要找出每月的假期數-
SELECT YearDetails, MonthDetails, BIT_COUNT(BIT_OR(1<<DayDetails)) AS No_Of_Holidays FROM HolidayDetails GROUP By YearDetails, MonthDetails;
輸出:
YEARDETAILS | MONTHDETAILS | NO_OF_HOLIDAYS |
---|---|---|
2021 | 01 | 3 |
2021 | 02 | 2 |
2021 | 03 | 2 |
相關用法
- MySQL LEAD() and LAG()用法及代碼示例
- MySQL BIN()用法及代碼示例
- MySQL LAST_DAY()用法及代碼示例
- MySQL WEEKOFYEAR()用法及代碼示例
- MySQL MOD()用法及代碼示例
- MySQL Group_CONCAT()用法及代碼示例
- MySQL DEFAULT()用法及代碼示例
- MySQL AES_ENCRYPT()用法及代碼示例
- MySQL AES_DECRYPT()用法及代碼示例
- MySQL MD5用法及代碼示例
- MySQL COMPRESS( )用法及代碼示例
- MySQL PASSWORD用法及代碼示例
- MySQL DES_DECRYPT()用法及代碼示例
- MySQL DES_ENCRYPT()用法及代碼示例
- MySQL DECODE( )用法及代碼示例
- MySQL ENCODE( )用法及代碼示例
- MySQL ISNULL( )用法及代碼示例
- MySQL NULLIF( )用法及代碼示例
- MySQL VERSION()用法及代碼示例
- MySQL USER( )用法及代碼示例
- MySQL CONVERT( )用法及代碼示例
- MySQL CONV( )用法及代碼示例
注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 BIT_COUNT() function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。