MySQL BIN_TO_UUID SQL-Funktion - Binär zu UUID (Universal Unique Identifier) |
|
| BIN_TO_UUID | Syntax: | BIN_TO_UUID(Binärstring [, Tauschen]) | Rückgabe-Wert: | CHAR | Funktions-Typ: | Sonstige Funktion | |
| | Die SQL-Funktion BIN_TO_UUID() konvertiert einen "Binärstring" in eine UUID-Zeichenfolge und gibt das Ergebnis zurück.
Die Rückgabe ist ein VARCHAR(36)-Wert.
Wenn das Argument "Tauschen" angegeben wird und 1 ist, werden die erste und dritte Gruppe von Hexadezimalziffern vertauscht. Dieses sollte nur geschehen, wenn der "Binärstring" selbst vertauschte Zeitwerte hat, sonst ist das Erebnis nicht korrekt.
BIN_TO_UUID() ist die Umkehr-Funktion von UUID_TO_BIN().
Wenn das Argument "Binärstring" NULL ist, gibt die BIN_TO_UUID()-Funktion NULL zurück.
Wenn eines der Argumente ungültig ist, tritt ein Fehler auf.
Diese Funktion wurde in MySQL ab Version 8.0 eingeführt. In MariaDB ist sie nicht vorhanden. | SQL Beispiele für die BIN_TO_UUID-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
|
|
set @u=uuid();
SELECT @u as `uuid`;
set @b=uuid_to_bin(@u);
SELECT hex(@b);
SELECT BIN_TO_UUID(@b);
SELECT BIN_TO_UUID(@b, 0);
SELECT BIN_TO_UUID(@b, 1);
select BIN_TO_UUID(null);
|
|
uuid |
|
48e8c7cc-de2f-11ed-90b4-80ee73e9b514 |
|
|
hex(@b) |
|
48E8C7CCDE2F11ED90B480EE73E9B514 |
|
|
BIN_TO_UUID(@b) |
varchar(36) BINARY |
48e8c7cc-de2f-11ed-90b4-80ee73e9b514 |
|
|
BIN_TO_UUID(@b, 0) |
varchar(36) BINARY |
48e8c7cc-de2f-11ed-90b4-80ee73e9b514 |
|
|
BIN_TO_UUID(@b, 1) |
varchar(36) BINARY |
de2f11ed-c7cc-48e8-90b4-80ee73e9b514 |
|
|
bin_to_uuid(null) |
varchar(36) BINARY |
NULL |
|
|
| Beispiel zur Erstellung einer Ersatz-Funktion für BIN_TO_UUID() in MariaDB |
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
|
|
/* Use MULTI-QUERY-Option in myway SQL manager */
DROP FUNCTION IF EXISTS BIN_TO_UUID;
CREATE FUNCTION BIN_TO_UUID(id varbinary(16))
RETURNS varchar(36)
BEGIN
set @hex=hex(id);
rETURN concat(
SUBSTR(@hex, 1, 8), '-',
SUBSTR(@hex, 9, 4), '-',
SUBSTR(@hex, 13, 4), '-',
SUBSTR(@hex, 17, 4), '-',
SUBSTR(@hex, 21)
);
END;
set @u=unhex('0A0C9A88DE3111ED90B480EE73E9B514');
select BIN_TO_UUID(@u);
|
|
BIN_TO_UUID(@u) | |
|
varchar(36) BINARY |
0A0C9A88-DE31-11ED-90B4-80EE73E9B514 |
|
| Beispiel zur Erstellung einer Ersatz-Funktion für BIN_TO_UUID() mit "Tauschen" Argument in MariaDB |
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
|
|
/* Use MULTI-QUERY-Option in myway SQL manager */
DROP FUNCTION IF EXISTS BIN_TO_UUID;
CREATE FUNCTION BIN_TO_UUID(id varbinary(16), swp tinyint)
RETURNS varchar(36)
BEGIN
SET @hex=hex(id);
IF swp=0 THEN
RETURN concat(
substr(@hex, 1, 8), '-',
substr(@hex, 9, 4), '-',
substr(@hex, 13, 4), '-',
substr(@hex, 17, 4), '-',
substr(@hex, 21)
);
ELSE
RETURN concat(
substr(@hex, 9, 8), '-',
substr(@hex, 5, 4), '-',
substr(@hex, 1, 4), '-',
substr(@hex, 17, 4), '-',
substr(@hex, 21)
);
END IF;
END;
SET @u=unhex('0A0C9A88DE3111ED90B480EE73E9B514');
SELECT BIN_TO_UUID(@u, 0);
SELECT BIN_TO_UUID(@u, 1);
|
|
BIN_TO_UUID(@u, 0) | |
|
varchar(36) BINARY |
0A0C9A88-DE31-11ED-90B4-80EE73E9B514 |
|
|
BIN_TO_UUID(@u, 1) | |
|
varchar(36) BINARY |
DE3111ED-9A88-0A0C-90B4-80EE73E9B514 |
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der BIN_TO_UUID() Funktion in MySQL und MariaDB-Datenbanken | In MySQL wird die Funktion BIN_TO_UUID() verwendet, um einen Binär-String einer UUID (Universally Unique Identifier) in eine lesbare Form zu konvertieren. Dabei wandelt die Funktion die binäre Darstellung einer UUID in eine Zeichenfolge im Format "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" um, wobei jede Zeichengruppe einen Teil der UUID darstellt.
Wenn UUIDs in einem Binärformat (16-Byte-Binärzeichenfolge) gespeichert wurden, können diese mit der BIN_TO_UUID()-Funktion in ihre String-Darstellung konvertiert werden, um UUIDs in einem besser lesbaren Format anzuzeigen oder um UUIDs anhand ihrer Zeichenfolgendarstellung abzufragen und zu vergleichen. Die Funktion kann in Kombination mit anderen Funktionen oder Vorgängen verwendet werden, um UUIDs in SQL-Abfragen zu manipulieren und damit zu arbeiten, wie zum Beispiel Zeichenfolgenoperationen daran auszuführen und sie dann bei Bedarf wieder in eine binäre UUID konvertieren. | | Weitere MySQL und MariaDB SQL Sonstige Funktionen | |
| | Weitere Informationen zur SQL-Funktion BIN_TO_UUID: |
|
|
|
|