UUID_TO_BIN | Syntax: | UUID_TO_BIN(Zeichenkette [, Tauschen]) | Rückgabe-Wert: | BINARY | Funktions-Typ: | Sonstige Funktion | |
|
|
Die SQL-Funktion UUID_TO_BIN() konvertiert eine UUID-"Zeichenkette" in eine binäre UUID und gibt das Ergebnis zurück.
Die binäre Rückgabe-UUID ist ein VARBINARY(16)-Wert.
Wenn das Argument "Tauschen" angegeben wird und 1 ist, werden die erste und dritte Gruppe von Hexadezimalziffern vertauscht. Dies verschiebt den schneller variierenden Teil nach rechts und kann die Indizierungseffizienz verbessern, wenn das Ergebnis in einer indizierten Spalte einer Tabelle gespeichert wird.
Wenn das Argument "Zeichenkette" NULL ist, gibt die UUID_TO_BIN()-Funktion NULL zurück.
Wenn eines der Argumente ungültig ist, tritt ein Fehler auf.
Mit nur einem Argument hat UUID_TO_BIN() die gleiche Funktion wie UNHEX(REPLACE(@uuid, '-', ''))
Diese Funktion wurde in MySQL ab Version 8.0 eingeführt. In MariaDB ist sie nicht vorhanden. |
SQL Beispiele für die UUID_TO_BIN-Funktion |
|
set @u=uuid();
SELECT @u as `uuid`;
SELECT hex(uuid_to_bin(@u));
SELECT hex(unhex(replace(@u,'-','')));
SELECT hex(uuid_to_bin(@u, 0));
SELECT hex(uuid_to_bin(@u, 1));
select uuid_to_bin(null);
|
|
uuid |
|
3bf1d51f-de0d-11ed-90b4-80ee73e9b514 |
|
|
hex(uuid_to_bin(@u)) |
varchar(32) BINARY |
3BF1D51FDE0D11ED90B480EE73E9B514 |
|
|
hex(unhex(replace(@u,'-',''))) |
|
3BF1D51FDE0D11ED90B480EE73E9B514 |
|
|
hex(uuid_to_bin(@u, 0)) |
varchar(32) BINARY |
3BF1D51FDE0D11ED90B480EE73E9B514 |
|
|
hex(uuid_to_bin(@u, 1)) |
varchar(32) BINARY |
11EDDE0D3BF1D51F90B480EE73E9B514 |
|
|
uuid_to_bin(null) |
varchar(16) BINARY |
NULL |
|
|
|
Beispiel zur Erstellung einer Ersatz-Funktion für UUID_TO_BIN() in MariaDB |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
|
/* Use MULTI-QUERY-Option in myway SQL manager */
DROP FUNCTION IF EXISTS UUID_TO_BIN;
CREATE FUNCTION UUID_TO_BIN(id varCHAR(36))
RETURNS BINARY(16)
BEGIN
RETURN UNHEX(REPLACE(id, '-', ''));
END;
select hex(uuid_to_bin(uuid()));
|
|
hex(uuid_to_bin(uuid())) |
varchar(32) BINARY |
21D93C5BDE0D11EDA01C80EE73E9B513 |
|
|
Beispiel zur Erstellung einer Ersatz-Funktion für UUID_TO_BIN() 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
|
|
/* Use MULTI-QUERY-Option in myway SQL manager */
DROP FUNCTION IF EXISTS UUID_TO_BIN;
CREATE FUNCTION UUID_TO_BIN(id varCHAR(36), swp tinyint)
RETURNS BINARY(16)
BEGIN
if swp=0 then
rETURN UNHEX(REPLACE(id, '-', ''));
else
rETURN UNHEX(concat(
SUBSTR(id, 15, 4),
SUBSTR(id, 10, 4),
SUBSTR(id, 1, 8),
SUBSTR(id, 20, 4),
SUBSTR(id, 25)
));
end if;
END;
set @u=uuid();
select hex(uuid_to_bin(@u, 0));
select hex(uuid_to_bin(@u, 1));
|
|
hex(uuid_to_bin(@u, 0)) |
varchar(32) BINARY |
423449CDDE1011EDA01C80EE73E9B513 |
|
|
hex(uuid_to_bin(@u, 1)) |
varchar(32) BINARY |
11EDDE10423449CDA01C80EE73E9B513 |
|
|
|
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: |
Verwendung der UUID_TO_BIN() Funktion in MySQL und MariaDB-Datenbanken |
In MySQL wird die Funktion UUID_TO_BIN() verwendet, um eine UUID (Universally Unique Identifier) von ihrer String-Darstellung in ihre Binärform umzuwandeln. Dabei nimmt die Funktion eine UUID-Zeichenfolge als Eingabe und gibt die entsprechende Binärdarstellung als 16-Byte-Binärzeichenfolge zurück, um beispielsweise UUIDs in einer Binärspalte oder in einem Binärformat zu speichern. Die Eingabe in die UUID_TO_BIN()-Funktion muss eine gültige UUID-Zeichenfolge im Format "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" sein.
Die Funktion kann in Kombination mit anderen Funktionen oder Vorgängen verwendet werden, um UUIDs in SQL-Abfragen zu manipulieren und damit zu arbeiten, um zum Beispiel binäre Operationen daran auszuführen und sie dann bei Bedarf wieder in Zeichenfolgen zu konvertieren. |
|
Weitere MySQL und MariaDB SQL Sonstige Funktionen |
|