La función BIT_COUNT() en MySQL se usa para devolver la cantidad de bits que están activos en la entrada dada. Los bits activos se pueden contar como un número de 1 presentado en un número binario.
Sintaxis:
BIT_COUNT(number)
Parámetro: este método acepta solo un parámetro.
- número:
entero de entrada cuyo número de bits activos queremos calcular.
Devuelve: Devuelve el número de bits activos establecidos en el número.
Ejemplo-1:
encontrar el número de bits activos para el número 0 usando la función BIT_COUNT. Como el número binario equivalente de la entrada dada es 0, el número 1 en un número binario equivalente también es 0. Entonces, aquí obtendremos 0 bits activos.
SELECT BIT_COUNT(0) AS ActiveBits;
Producción :
BITS ACTIVOS |
---|
0 |
Ejemplo-2:
Encontrar el número de bits activos para el número 14 usando la función BIT_COUNT. Sabemos que la representación binaria equivalente de 14 es 1110. Aquí podemos ver que el número de 1 presente es 3. Entonces, el resultado será 3.
SELECT BIT_COUNT(14) AS ActiveBits;
Producción :
BITS ACTIVOS |
---|
3 |
Ejemplo-3:
encontrar el número de bits activos para el siguiente número binario usando la función BIT_COUNT. Como el número de 1 en el siguiente ejemplo es 0, 1, 4 y 7 respectivamente, obtendremos como resultado 0, 1, 4 y 7 bits activos.
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;
Producción :
ACTIVEBITS1 | ACTIVEBITS2 | ACTIVEBITS3 | ACTIVEBITS4 |
---|---|---|---|
0 | 1 | 4 | 7 |
Ejemplo 4:
la función BIT_COUNT también se puede usar en los datos de la columna. Para demostrarlo, cree una tabla llamada 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));
Insertar algunos datos en la tabla 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);
Entonces, la tabla HolidayDetails es la siguiente:
SELECT * from HolidayDetails;
VACACIONES_ID | DETALLES DEL AÑO | DETALLES DEL MES | DETALLES DEL DÍA |
---|---|---|---|
1 | 2021 | 1 | 1 |
2 | 2021 | 1 | 14 |
3 | 2021 | 1 | 26 |
4 | 2021 | 2 | 19 |
5 | 2021 | 2 | 21 |
6 | 2021 | 3 | 10 |
Ahora vamos a encontrar el número de vacaciones por mes:
SELECT YearDetails, MonthDetails, BIT_COUNT(BIT_OR(1<<DayDetails)) AS No_Of_Holidays FROM HolidayDetails GROUP By YearDetails, MonthDetails;
Producción :
DETALLES DEL AÑO | DETALLES DEL MES | NO_DE_VACACIONES |
---|---|---|
2021 | 01 | 3 |
2021 | 02 | 2 |
2021 | 03 | 2 |
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA