Ce face EXPORT_SET() și MAKE_SET()
EXPORT_SET() parcurge biții numărului de la dreapta la stânga și scrie text_pornit pentru biții 1 și text_oprit pentru biții 0.
MAKE_SET() alege din listă doar textele corespunzătoare biților 1: bitul 0 → primul text, bitul 1 → al doilea etc. Sunt utile când drepturi sau opțiuni sunt stocate ca biți într-un singur număr.
Parametri
| Parametru | Descriere |
|---|---|
biti |
Numărul ai cărui biți sunt citiți. |
text_pornit, text_oprit |
Textele pentru bit 1, respectiv 0 (EXPORT_SET). |
separator |
Opțional. Implicit virgula. |
numar_biti |
Opțional. Câți biți să afișeze (implicit 64). |
text1, text2, ... |
Textele pentru fiecare bit (MAKE_SET). |
Ce returnează
Textul construit.
Exemple
Exemplul 1: Același număr, două funcții
SELECT EXPORT_SET(5, 'Y', 'N', ',', 4) AS export_set,
MAKE_SET(5, 'citire', 'scriere', 'stergere') AS make_set;
Rezultat
+------------+-----------------+
| export_set | make_set |
+------------+-----------------+
| Y,N,Y,N | citire,stergere |
+------------+-----------------+
Greșeli frecvente
- Citești rezultatul lui
EXPORT_SET()de la stânga la dreapta ca pe un număr binar. Funcția pune primul bitul cel mai puțin semnificativ, deci ordinea este inversă față deBIN().
Comenzi înrudite
BIN() și OCT(): Returnează reprezentarea unui număr în baza 2 (BIN) sau în baza 8 (OCT), ca text.Operatori pe biți: Lucrează cu biții numerelor: ȘI (&), SAU (|), SAU exclusiv (^), inversare (~), deplasări (<<, >>).FIND_IN_SET(): Caută o valoare într-un text cu elemente separate prin virgulă și returnează poziția.