FORMAT_BYTES() în MySQL

Transformă un număr de octeți într-un text ușor de citit: 512 bytes, 1.50 KiB, 2.00 GiB.

Sintaxă
FORMAT_BYTES(numar_octeti)

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