Ce face BIN() și OCT()
BIN(n) este prescurtarea pentru CONV(n, 10, 2), iar OCT(n) pentru CONV(n, 10, 8). Rezultatul este un text.
Parametri
| Parametru | Descriere |
|---|---|
numar |
Numărul întreg convertit. |
Ce returnează
Textul cu cifrele în baza 2 sau 8.
Exemple
Exemplul 1: Baza 2 și baza 8
SELECT BIN(10) AS binar, OCT(10) AS octal, BIN(255) AS octet_plin;
Rezultat
+-------+-------+------------+
| binar | octal | octet_plin |
+-------+-------+------------+
| 1010 | 12 | 11111111 |
+-------+-------+------------+
Exemplul 2: Drepturi stocate ca biți
CREATE TABLE utilizatori (nume VARCHAR(20), drepturi INT);
INSERT INTO utilizatori VALUES ('ana', 5), ('dan', 7);
SELECT nume, LPAD(BIN(drepturi), 3, '0') AS biti FROM utilizatori;
Rezultat
+------+------+
| nume | biti |
+------+------+
| ana | 101 |
| dan | 111 |
+------+------+
Greșeli frecvente
- Faci calcule cu rezultatul lui
BIN(). Este text: pentru operații pe biți folosește numărul original și operatorii&,|.
Comenzi înrudite
HEX() și UNHEX(): HEX() transformă un număr sau un text în hexazecimal; UNHEX() face conversia inversă.CONV(): Convertește un număr dintr-o bază în alta (2-36), de exemplu din hexazecimal în zecimal.Operatori pe biți: Lucrează cu biții numerelor: ȘI (&), SAU (|), SAU exclusiv (^), inversare (~), deplasări (<<, >>).