Ce face FORMAT_BYTES()
FORMAT_BYTES() alege singură unitatea potrivită: bytes, KiB, MiB, GiB, TiB, PiB sau EiB. Unitățile sunt binare: 1 KiB = 1024 de octeți, 1 MiB = 1024 KiB.
Sub 1024 de octeți, valoarea este afișată ca număr întreg; peste, cu două zecimale. Este utilă la afișarea mărimii tabelelor sau a memoriei din Performance Schema.
Parametri
| Parametru | Descriere |
|---|---|
numar_octeti |
Numărul de octeți. |
Ce returnează
Un text cu valoarea și unitatea, sau NULL.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE produse (
id INT AUTO_INCREMENT PRIMARY KEY,
nume VARCHAR(30),
pret INT,
stoc INT
);
INSERT INTO produse (nume, pret, stoc) VALUES
('Laptop', 3500, 4),
('Mouse', 80, 25),
('Birou', 900, 0),
('Scaun', 650, 7),
('Monitor', 1200, 3);
Exemplul 1: Valori de diferite mărimi
SELECT FORMAT_BYTES(512) AS mic, FORMAT_BYTES(1536) AS kib,
FORMAT_BYTES(5 * 1024 * 1024) AS mib, FORMAT_BYTES(3221225472) AS gib;
Rezultat
+------------+----------+----------+----------+
| mic | kib | mib | gib |
+------------+----------+----------+----------+
| 512 bytes | 1.50 KiB | 5.00 MiB | 3.00 GiB |
+------------+----------+----------+----------+
Exemplul 2: Mărimea unui tabel
Un tabel InnoDB mic ocupă o pagină de 16 KiB.
SELECT TABLE_NAME, FORMAT_BYTES(DATA_LENGTH) AS date, FORMAT_BYTES(INDEX_LENGTH) AS indexuri
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'produse';
Rezultat
+------------+-----------+------------+
| TABLE_NAME | date | indexuri |
+------------+-----------+------------+
| produse | 16.00 KiB | 0 bytes |
+------------+-----------+------------+
Greșeli frecvente
- Te aștepți la unități zecimale (1 KB = 1000).
FORMAT_BYTES()folosește unități binare (1 KiB = 1024).
Comenzi înrudite
FORMAT_PICO_TIME(): Transformă un timp în picosecunde într-un text ușor de citit: 3.50 ns, 250.00 ms, 3.15 min.FORMAT(): Formatează un număr cu separator de mii și un număr fix de zecimale, opțional după limbă.