Die MAKE_SET SQL-Funktion in MySQL und MariaDB - Zeichenkette anhand von Bit-Werten |
|
| MAKE_SET | Syntax: | MAKE_SET(Bits, Zeichenketten ('str1','str2', ...)) | Rückgabe-Wert: | CHAR | Funktions-Typ: | Zeichenketten-Funktion | |
| | Die SQL-Funktion MAKE_SET() gibt eine Zeichenfolge zurück, die aus durch Komma getrennte Zeichenfolgen aus der "Zeichenketten"-Liste besteht, bei denen das entsprechende Bit in "Bits" gesetzt ist.
Beispielweise wenn Bit 0 in "Bits" gesetzt ist, wird die erste Zeichenfolge in das Ergebnis übernommen, wenn Bit 2 gesetzt, die dritte Zeichenfolge usw...
Zeichenketten im Argument "Bits" werden als ganze Zahlen interpretiert.
Wenn der Wert von "Bits" ungültig oder 0 ist, gibt die Funktion eine leere Zeichenfolge zurück.
NULL-Werte in Argumenten der "Zeichenketten"-Liste werden nicht in das Ergebnis übernommen.
Wenn der Wert von "Bits" NULL ist, gibt die MAKE_SET()-Funktion NULL zurück. | SQL Beispiele für die MAKE_SET-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
|
select make_set(5, 'v1', 'v2', 'v3', 'v4');
select make_set('5', 'v1', 'v2', 'v3', 'v4');
select make_set(15, 'v1', 'v2', 'v3', 'v4');
select make_set(0x08, 'v1', 'v2', 'v3', 'v4');
select make_set(0x01, 'v1', 'v2', 'v3', 'v4');
select make_set(0b0101, 'v1', 'v2', 'v3', 'v4');
select make_set(15, 'v1',null, 'v3',null);
select make_set('x5', 'v1', 'v2', 'v3', 'v4');
select make_set(null, 'v1', 'v2', 'v3', 'v4');
|
|
make_set(5, 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
v1,v3 |
|
|
make_set('5', 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
v1,v3 |
|
|
make_set(15, 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
v1,v2,v3,v4 |
|
|
make_set(0x08, 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
v4 |
|
|
make_set(0x01, 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
v1 |
|
|
make_set(0b0101, 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
v1,v3 |
|
|
make_set(15, 'v1',null, 'v3',null) |
varchar(7) BINARY |
v1,v3 |
|
|
make_set('x5', 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
|
|
|
make_set(null, 'v1', 'v2', 'v3', 'v4') |
varchar(11) BINARY |
NULL |
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der MAKE_SET() Funktion in MySQL und MariaDB-Datenbanken | Die MAKE_SET()-Funktion in MySQL und MariaDB wird gebraucht, um einen Satz von Werten basierend auf einer Bitmaske zu erstellen. Die Funktion gibt eine Zeichenkette zurück, in der die Set-Elemente mit Kommas verkettet sind. Die Position jedes Elements im Ergebnis entspricht einer Bitposition in der Bitmaske. Wenn in der Bitmaske ein Bit gesetzt ist (1), wird das entsprechende Element in das Ergebnis einbezogen. Wenn ein Bit nicht gesetzt ist (0), wird das entsprechende Element ausgeschlossen. Die Funktion MAKE_SET() ist nützlich, wenn eine Reihe von Werten basierend auf einer Bitmaske dargestellt werden sollen, beispielsweise um Optionen oder Kategorien anzuzeigen, die basierend auf bestimmten Flags oder Bedingungen ausgewählt werden. | | Weitere MySQL und MariaDB SQL Zeichenketten-Funktionen | CHAR | CHAR(Zeichencode, [, Zeichensatz]) | Mehr zur CHAR-Funktion |
| CHR | CHR(Zeichencode) | Mehr zur CHR-Funktion |
| CONCAT | CONCAT(Zeichenketten ('str1','str2', ...)) | Mehr zur CONCAT-Funktion |
| CONCAT_WS | CONCAT_WS(Separator, Zeichenketten ('str1','str2', ...)) | Mehr zur CONCAT_WS-Funktion |
| ELT | ELT(Index, Zeichenketten ('str1','str2', ...)) | Mehr zur ELT-Funktion |
| EXPORT_SET | EXPORT_SET(Bits, On, Off [, Separator] [, Anzahl Bits]) | Mehr zur EXPORT_SET-Funktion |
| EXTRACTVALUE | EXTRACTVALUE(XML, XPath) |
| FIELD | FIELD(Suchstring, Zeichenketten ('str1','str2', ...)) | Mehr zur FIELD-Funktion |
| FORMAT | FORMAT(Zahl, Dezimalstellen [, Region]) | Mehr zur FORMAT-Funktion |
| INSERT | INSERT(Zeichenkette, Position, Länge, Einzufügende Zeichenkette) | Mehr zur INSERT-Funktion |
| LCASE | LCASE(Zeichenkette) | Mehr zur LCASE-Funktion |
| LEFT | LEFT(Zeichenkette, Länge) | Mehr zur LEFT-Funktion |
| LOAD_FILE | LOAD_FILE(Datei-Name) |
| LOWER | LOWER(Zeichenkette) | Mehr zur LOWER-Funktion |
| LPAD | LPAD(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur LPAD-Funktion |
| LPAD_ORACLE | LPAD_ORACLE(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur LPAD_ORACLE-Funktion |
| LTRIM | LTRIM(Zeichenkette) | Mehr zur LTRIM-Funktion |
| MID | MID(Zeichenkette, Position [, Länge]) | Mehr zur MID-Funktion |
| QUOTE | QUOTE(Zeichenkette) | Mehr zur QUOTE-Funktion |
| REPEAT | REPEAT(Zeichenkette, Anzahl) | Mehr zur REPEAT-Funktion |
| REPLACE | REPLACE(Zeichenkette, Suchen, Ersetzen) | Mehr zur REPLACE-Funktion |
| REVERSE | REVERSE(Zeichenkette) | Mehr zur REVERSE-Funktion |
| RIGHT | RIGHT(Zeichenkette, Länge) | Mehr zur RIGHT-Funktion |
| RPAD | RPAD(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur RPAD-Funktion |
| RPAD_ORACLE | RPAD_ORACLE(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur RPAD_ORACLE-Funktion |
| RTRIM | RTRIM(Zeichenkette) | Mehr zur RTRIM-Funktion |
| SOUNDEX | SOUNDEX(Zeichenkette) | Mehr zur SOUNDEX-Funktion |
| SPACE | SPACE(Anzahl) | Mehr zur SPACE-Funktion |
| SUBSTR | SUBSTR(Zeichenkette, Position, Länge) | Mehr zur SUBSTR-Funktion |
| SUBSTRING | SUBSTRING(Zeichenkette, Position, Länge) | Mehr zur SUBSTRING-Funktion |
| SUBSTRING_INDEX | SUBSTRING_INDEX(Zeichenkette, Delimiter, Anzahl) | Mehr zur SUBSTRING_INDEX-Funktion |
| TRIM | TRIM([Art] [, Löschzeichen], , Zeichenkette) | Mehr zur TRIM-Funktion |
| TRIM_ORACLE | TRIM_ORACLE([Art] [, Löschzeichen], , Zeichenkette) | Mehr zur TRIM_ORACLE-Funktion |
| UCASE | UCASE(Zeichenkette) | Mehr zur UCASE-Funktion |
| UPPER | UPPER(Zeichenkette) | Mehr zur UPPER-Funktion |
| WEIGHT_STRING | WEIGHT_STRING(Zeichenkette [AS Format] [LEVEL Level] [Sortierung]) | Mehr zur WEIGHT_STRING-Funktion |
| ASCII | ASCII(Zeichenkette) | Mehr zur ASCII-Funktion |
| BIT_LENGTH | BIT_LENGTH(Zeichenkette) | Mehr zur BIT_LENGTH-Funktion |
| CHAR_LENGTH | CHAR_LENGTH(Zeichenkette) | Mehr zur CHAR_LENGTH-Funktion |
| CHARACTER_LENGTH | CHARACTER_LENGTH(Zeichenkette) | Mehr zur CHARACTER_LENGTH-Funktion |
| FIND_IN_SET | FIND_IN_SET(Suchstring, Werte-Satz) | Mehr zur FIND_IN_SET-Funktion |
| INSTR | INSTR(Zeichenkette, Suchstring) | Mehr zur INSTR-Funktion |
| LENGTH | LENGTH(Zeichenkette) | Mehr zur LENGTH-Funktion |
| LENGTHB | LENGTHB(Zeichenkette) | Mehr zur LENGTHB-Funktion |
| LOCATE | LOCATE(Suchstring, Zeichenkette [, Position]) | Mehr zur LOCATE-Funktion |
| OCTET_LENGTH | OCTET_LENGTH(Zeichenkette) | Mehr zur OCTET_LENGTH-Funktion |
| ORD | ORD(Zeichenkette) | Mehr zur ORD-Funktion |
| POSITION | POSITION(Suchstring IN Zeichenkette) | Mehr zur POSITION-Funktion |
|
|
| | Weitere Informationen zur SQL-Funktion MAKE_SET: und |
|
|
|
|