©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die BIT_AND SQL-Funktion in MySQL und MariaDB - Bitweises UND

BIT_ANDSyntax:BIT_AND(Ausdruck oder Spalte)
Rückgabe-Wert:BIGINT
Funktions-Typ:Aggregat-Funktion, Window-Funktion
Funktions-Beschreibung

Die SQL-Funktion BIT_AND() gibt das bitweise UND (AND) aller Bits in "Ausdruck oder Spalte" zurück.

Die Berechnung erfolgt mit 64-Bit Genauigkeit (BIGINT).

Bei der Berechnung von Zeichenketten-Argumenten gibt die Funktion 0 zurück.

Die Verwendung von einer DISTINCT-Klausel führt zu einem Fehler.

Bei ENUM-Feldern geschieht die Berechnung aus den Positionen der Werte in ihren Listen.

Bei SET-Feldern werden die Binär-Positionen der Werte in ihren Listen zur Berechnung verwendet = POW(2, Position-1).

Als Aggregatfunktion kann die BIT_AND()-Funktion mit einer GROUP BY-Klausel verwendet werden.

BIT_AND() kann als Fensterfunktion verwendet werden.

Die Funktion BIT_AND() gibt einen 64-Bit-Wert zurück, bei dem alle Bits gesetzt sind, wenn kein Ergebnis gefunden wurde oder "Ausdruck oder Spalte" NULL ist.

SQL Beispiele für die BIT_AND-Funktion

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

DROP TABLE IF EXISTS `test_table`;
    
CREATE TABLE `test_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `type` enum('First','Second','Third','Last'DEFAULT NULL,
  `set` set('First','Second','Third','Last'DEFAULT NULL,
  `num1` int(11) NOT NULL DEFAULT 0,
  `num2` decimal(10,2) NOT NULL DEFAULT 0.00,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

INSERT INTO `test_table` (`id`,`name`,`type`,`set`,`num1`,`num2`VALUES 
(1,'Art 1','First','Last',1,7),
(2,'Art 2','Second','First,Last',3,7),
(3,'Art 3','Second','Second,Last',5,7),
(4,'Art 4','Third','First,Second,Last',5,7),
(5,'Art 5','Last','First,Last',7,15),
(6,'Art 6','First','First,Last',7,15),
(7,'Art 7','Third','First,Third,Last',9,15),
(8,'Art 8','Last','Second,Third,Last',9,15);

select * from `test_table`;

select BIT_AND(name) from test_table;

select BIT_AND(num1),BIT_AND(num2),BIT_AND(`type`),BIT_AND(`set`from test_table;
select BIT_AND(num1),BIT_AND(num2),BIT_AND(`type`),BIT_AND(`set`from test_table where `type`='third';

select bin(BIT_AND(num1)),bin(BIT_AND(num2)) from test_table where id>8;

/* as Window function */

SELECT name, `type`, num1, BIT_AND(num2) 
  OVER (PARTITION BY `type`AS `bit_and` FROM test_table;
  
select BIT_AND(null), bin(BIT_AND(null));

id
name
type
set
num1
num2
int(11)varchar(20) LATIN1enum LATIN1set LATIN1int(11)decimal(10,2)
1Art 1FirstLast17.00
2Art 2SecondFirst,Last37.00
3Art 3SecondSecond,Last57.00
4Art 4ThirdFirst,Second,Last57.00
5Art 5LastFirst,Last715.00
6Art 6FirstFirst,Last715.00
7Art 7ThirdFirst,Third,Last915.00
8Art 8LastSecond,Third,Last915.00
bit_and(name)
bigint(21)
0
BIT_AND(num1)
BIT_AND(num2)
BIT_AND(`type`)
BIT_AND(`set`)
bigint(21)bigint(21)bigint(21)bigint(21)
1708
BIT_AND(num1)
BIT_AND(num2)
BIT_AND(`type`)
BIT_AND(`set`)
bigint(21)bigint(21)bigint(21)bigint(21)
1739
bin(BIT_AND(num1))
bin(BIT_AND(num2))
varchar(64) BINARYvarchar(64) BINARY
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
name
type
num1
bit_and
test_table
varchar(20) LATIN1
test_table
enum LATIN1
test_table
int(11)

bigint(21)
Art 6First77
Art 1First17
Art 3Second57
Art 2Second37
Art 4Third57
Art 7Third97
Art 8Last915
Art 5Last715
BIT_AND(null)
bin(BIT_AND(null))
bigint(21)varchar(64) BINARY
184467440737095516151111111111111111111111111111111111111111111111111111111111111111
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der BIT_AND() Funktion in MySQL und MariaDB-Datenbanken

Die BIT_AND()-Funktion in MySQL und MariaDB wird verwendet, um eine bitweise UND-Operation für eine Reihe von Werten durchzuführen und das Ergebnis als ganze Zahl zurückzugeben, was in verschiedenen Anwendungen nützlich sein kann, beispielsweise beim Arbeiten mit binären Flags oder beim Durchführen bitweiser Berechnungen. Dabei arbeitet die Funktion mit ganzen Zahlen und behandelt die Eingabewerte als binäre Darstellungen.

Bitweise Operationen und die Arbeit mit Binärwerten beinhalten unter anderem Anwendungsfälle, wie bitweise Flag-Operationen, um Tabellen-Spalten oder Wertesätze, die binäre Flags darstellen zu überprüfen, oder um gemeinsame Bits oder Merkmale aus Binärwerten oder aus einer Menge von Werten zu extrahieren, oder um Zugriffskontrollen oder Berechtigungen zu prüfungen, ob beispielsweise ein Benutzer oder eine Entität über die erforderlichen Berechtigungen verfügt.
BENCHMARKBINBIN_TO_UUIDBIT_ANDBIT_COUNTBIT_LENGTHBIT_OR

Weitere MySQL und MariaDB SQL Aggregat-Funktionen

ANY_VALUEANY_VALUE(Spalte)
Mehr zur ANY_VALUE-Funktion

AVGAVG(Ausdruck oder Spalte)
Mehr zur AVG-Funktion

BIT_ORBIT_OR(Ausdruck oder Spalte)
Mehr zur BIT_OR-Funktion

BIT_XORBIT_XOR(Ausdruck oder Spalte)
Mehr zur BIT_XOR-Funktion

COUNTCOUNT(Ausdruck oder Spalte)
Mehr zur COUNT-Funktion

GROUP_CONCATGROUP_CONCAT([DISTINCT] Ausdruck [, Ausdruck ...] [ORDER BY ... [ASC | DESC]] [SEPARATOR ...] [LIMIT ...])
Mehr zur GROUP_CONCAT-Funktion

JSON_ARRAYAGGJSON_ARRAYAGG(Ausdruck oder Spalte)

JSON_OBJECTAGGJSON_OBJECTAGG(Ausdruck oder Spalte)

MAXMAX(Ausdruck oder Spalte)
Mehr zur MAX-Funktion

MINMIN(Ausdruck oder Spalte)
Mehr zur MIN-Funktion

SUMSUM(Ausdruck oder Spalte)
Mehr zur SUM-Funktion

STDSTD(Ausdruck oder Spalte)
Mehr zur STD-Funktion

STDDEVSTDDEV(Ausdruck oder Spalte)
Mehr zur STDDEV-Funktion

STDDEV_POPSTDDEV_POP(Ausdruck oder Spalte)
Mehr zur STDDEV_POP-Funktion

STDDEV_SAMPSTDDEV_SAMP(Ausdruck oder Spalte)
Mehr zur STDDEV_SAMP-Funktion

VAR_POPVAR_POP(Ausdruck oder Spalte)
Mehr zur VAR_POP-Funktion

VAR_SAMPVAR_SAMP(Ausdruck oder Spalte)
Mehr zur VAR_SAMP-Funktion

VARIANCEVARIANCE(Ausdruck oder Spalte)
Mehr zur VARIANCE-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion BIT_AND: mysql.com und mariadb.com
Aktualisiert: 17.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer