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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。