MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Funcții pentru lucrul cu numere

Pentru lucrul cu date numerice, MySQL oferă o serie de funcții:

  • ROUND: rotunjește un număr. Primul parametru este numărul. Al doilea parametru indică lungimea. Dacă lungimea este un număr pozitiv, indică până la câtă zecimală se face rotunjirea. Dacă lungimea este un număr negativ, indică până la câtă zecimală de la sfârșitul numărului se face rotunjirea.
SELECT ROUND(1342.345, 2),      -- 1342.35
(SELECT ROUND(1342.345, -2));   -- 1300;
  • TRUNCATE: păstrează în partea fracționară un număr specificat de caractere
SELECT TRUNCATE(1342.345, 2);       -- 1342.34
  • ABS: returnează valoarea absolută a unui număr
SELECT ABS(-123)    -- 123
  • CEILING: returnează cel mai mic număr întreg care este mai mare sau egal cu valoarea curentă
SELECT CEILING(-123.45),        -- -123
(SELECT CEILING(123.45));       -- 124
  • FLOOR: returnează cel mai mare număr întreg care este mai mic sau egal cu valoarea curentă
SELECT FLOOR(-123.45),      -- -124
(SELECT FLOOR(123.45));     -- 123
  • POWER: ridică un număr la o anumită putere
SELECT POWER(5, 2),     -- 25
(SELECT POWER(5, 3));       -- 125
  • SQRT: obține rădăcina pătrată a unui număr
SELECT SQRT(225);       -- 15
  • SIGN: returnează -1 dacă numărul este mai mic decât 0 și returnează 1 dacă numărul este mai mare decât 0. Dacă numărul este egal cu 0, atunci returnează 0
SELECT SIGN(-5),        -- -1
(SELECT SIGN(7));       -- 1
  • RAND: generează un număr aleatoriu cu virgulă mobilă în intervalul de la 0 la 1
SELECT RAND();      -- 0.707365088352935
SELECT RAND();      -- 0.173808327956812

De exemplu, să luăm o tabelă:

CREATE TABLE Products
(
   Id INT AUTO_INCREMENT PRIMARY KEY,
   ProductName VARCHAR(30) NOT NULL,
   Manufacturer VARCHAR(20) NOT NULL,
   ProductCount INT DEFAULT 0,
   Price DECIMAL NOT NULL
);

Rotunjim produsul dintre prețul unui produs și cantitatea acelui produs:

SELECT ProductName, ROUND(Price * ProductCount, 2)
FROM Products;
← Lecția anterioară Lecția următoare →