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

Die BIT_OR SQL-Funktion in MySQL und MariaDB - Bitweises ODER

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

Die SQL-Funktion BIT_OR() gibt das bitweise ODER (OR) 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_OR()-Funktion mit einer GROUP BY-Klausel verwendet werden.

BIT_OR() kann als Fensterfunktion verwendet werden.

Die Funktion BIT_OR() gibt 0, wenn kein Ergebnis gefunden wurde oder "Ausdruck oder Spalte" NULL ist.

SQL Beispiele für die BIT_OR-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_OR(name) from test_table;

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

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

/* as Window function */

SELECT name, `type`, num1, BIT_OR(num2) 
  OVER (PARTITION BY `type`AS `bit_or` FROM test_table;
  
select BIT_OR(null), bin(BIT_OR(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_or(name)
bigint(21)
0
BIT_OR(num1)
BIT_OR(num2)
BIT_OR(`type`)
BIT_OR(`set`)
bigint(21)bigint(21)bigint(21)bigint(21)
1515715
bit_or(num1)
bit_or(num2)
bit_or(`type`)
bit_or(`set`)
bigint(21)bigint(21)bigint(21)bigint(21)
1315315
bin(bit_or(num1))
bin(bit_or(num2))
varchar(64) BINARYvarchar(64) BINARY
00
name
type
num1
bit_or
test_table
varchar(20) LATIN1
test_table
enum LATIN1
test_table
int(11)

bigint(21)
Art 6First715
Art 1First115
Art 3Second57
Art 2Second37
Art 4Third515
Art 7Third915
Art 8Last915
Art 5Last715
bit_or(null)
bin(bit_or(null))
bigint(21)varchar(64) BINARY
00
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

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

Die BIT_OR()-Funktion in MySQL und MariaDB wird verwendet, um eine bitweise ODER-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, beim Kombinieren oder Zusammenführen von Binärwerten 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 mit dieser Funktion beinhalten unter anderem Anwendungsfälle, wie binäre Flags kombinieren oder zusammenführen, mehrere Flags zu einem einzigen Wert zusammenzufassen, oder um bestimmte Bits innerhalb eines Binärwerts zu aktivieren oder zu setzen, oder um bitweise Berechnungen durchzuführen, zum Beispiel durch Kombinieren von Binärwerten oder Berechnen von Masken oder das Implementieren benutzerdefinierter Logik basierend auf binären Darstellungen.
BIT_ANDBIT_COUNTBIT_LENGTHBIT_ORBIT_XORCASTCEIL

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_ANDBIT_AND(Ausdruck oder Spalte)
Mehr zur BIT_AND-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_OR: mysql.com und mariadb.com
Aktualisiert: 17.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer