Ce face BIN_TO_UUID()
BIN_TO_UUID() este inversa lui UUID_TO_BIN(): primește 16 octeți și returnează UUID-ul ca text cu cratime, cu litere mici.
Al doilea argument trebuie să fie același ca la UUID_TO_BIN(): 1 dacă la salvare a fost mutată partea de timp, 0 sau lipsă în rest. Pentru NULL returnează NULL, iar pentru o valoare invalidă dă eroare.
Parametri
| Parametru | Descriere |
|---|---|
uuid_binar |
UUID-ul binar, de exemplu dintr-o coloană BINARY(16). |
schimba_ordinea |
Opțional. 1 dacă a fost folosit 1 la UUID_TO_BIN(). |
Ce returnează
Un text de 36 de caractere sau NULL.
Exemple
Exemplul 1: Dus-întors, corect și greșit
SET @uuid = '6ccd780c-baba-1026-9564-5b8c656024db';
SELECT BIN_TO_UUID(UUID_TO_BIN(@uuid, 1), 1) AS corect,
BIN_TO_UUID(UUID_TO_BIN(@uuid, 1), 0) AS argument_diferit;
Rezultat
+--------------------------------------+--------------------------------------+
| corect | argument_diferit |
+--------------------------------------+--------------------------------------+
| 6ccd780c-baba-1026-9564-5b8c656024db | 1026baba-6ccd-780c-9564-5b8c656024db |
+--------------------------------------+--------------------------------------+
Exemplul 2: Afișarea unei coloane binare
CREATE TABLE utilizatori (id BINARY(16), nume VARCHAR(30));
INSERT INTO utilizatori VALUES (UUID_TO_BIN('3f0d6c2a-a7f1-11f1-9c4e-0242ac120002'), 'Ioana');
SELECT BIN_TO_UUID(id) AS id, nume FROM utilizatori;
Rezultat
+--------------------------------------+-------+
| id | nume |
+--------------------------------------+-------+
| 3f0d6c2a-a7f1-11f1-9c4e-0242ac120002 | Ioana |
+--------------------------------------+-------+
Greșeli frecvente
- Afișezi coloana
BINARY(16)direct în aplicație. Primești octeți fără sens; foloseșteBIN_TO_UUID()înSELECT.
Comenzi înrudite
UUID_TO_BIN(): Transformă un UUID text (36 de caractere) în 16 octeți binari, potriviți pentru coloane BINARY(16).UUID(): Generează un identificator unic universal (UUID versiunea 1), un text de 36 de caractere.HEX() și UNHEX(): HEX() transformă un număr sau un text în hexazecimal; UNHEX() face conversia inversă.