BIN_TO_UUID() în MySQL

Transformă un UUID binar (16 octeți) înapoi în text de 36 de caractere.

Sintaxă
BIN_TO_UUID(uuid_binar [, schimba_ordinea])

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ște BIN_TO_UUID() în SELECT.

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ă.