TRUNCATE() în MySQL

Funcții matematice MySQL 5.0+

Taie un număr la un număr de zecimale, fără rotunjire.

Sintaxă
TRUNCATE(numar, zecimale)

Ce face TRUNCATE()

TRUNCATE() elimină zecimalele în plus, fără să rotunjească: TRUNCATE(2.567, 2) = 2.56. Al doilea parametru este obligatoriu. Nu confunda funcția cu instrucțiunea TRUNCATE TABLE.

Parametri

Parametru Descriere
numar Numărul tăiat.
zecimale Câte zecimale rămân; negativ pentru zeci, sute.

Ce returnează

Numărul tăiat.

Exemple

Exemplul 1: Tăiere și rotunjire, comparate

SELECT TRUNCATE(2.567, 2) AS taiat, ROUND(2.567, 2) AS rotunjit,
       TRUNCATE(-2.567, 0) AS negativ, TRUNCATE(1789, -2) AS la_sute;

Rezultat

+-------+----------+---------+---------+
| taiat | rotunjit | negativ | la_sute |
+-------+----------+---------+---------+
|  2.56 |     2.57 |      -2 |    1700 |
+-------+----------+---------+---------+

Greșeli frecvente

  • Uiți al doilea parametru: TRUNCATE(2.5) dă eroare de sintaxă.

Comenzi înrudite

  • ROUND(): Rotunjește un număr la un număr de zecimale (sau la zeci, sute, cu valori negative).
  • FLOOR(): Rotunjește în jos, la cel mai mare număr întreg mai mic sau egal.
  • DROP TABLE / TRUNCATE: Șterge un tabel cu totul (DROP) sau doar toate rândurile lui (TRUNCATE).