BIN() și OCT() în MySQL

Returnează reprezentarea unui număr în baza 2 (BIN) sau în baza 8 (OCT), ca text.

Sintaxă
BIN(numar)
OCT(numar)

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 (<<, >>).