Функции для работы с числами

Поділитись

Для работы с числовыми данными MySQL предоставляет ряд функций:

  • ROUND: округляет число. В качестве первого параметра передается число. Второй параметр указывает на длину. Если длина представляет положительное число, то оно указывает, до какой цифры после запятой идет округление. Если длина представляет отрицательное число, то оно указывает, до какой цифры с конца числа до запятой идет округление12SELECT ROUND(1342.345, 2),      -- 1342.35(SELECT ROUND(1342.345, -2));   -- 1300;
  • TRUNCATE: оставляет в дробной части определенное количество символов1SELECT TRUNCATE(1342.345, 2);       -- 1342.34
  • ABS: возвращает абсолютное значение числа.1SELECT ABS(-123)    -- 123
  • CEILING: возвращает наименьшее целое число, которое больше или равно текущему значению.12SELECT CEILING(-123.45),        -- -123(SELECT CEILING(123.45));       -- 124
  • FLOOR: возвращает наибольшее целое число, которое меньше или равно текущему значению.12SELECT FLOOR(-123.45),      -- -124(SELECT FLOOR(123.45));     -- 123
  • POWER: возводит число в определенную степень.12SELECT POWER(5, 2),     -- 25(SELECT POWER(5, 3));       -- 125
  • SQRT: получает квадратный корень числа.1SELECT SQRT(225);       -- 15
  • SIGN: возвращает -1, если число меньше 0, и возвращает 1, если число больше 0. Если число равно 0, то возвращает 0.12SELECT SIGN(-5),        -- -1(SELECT SIGN(7));       -- 1
  • RAND: генерирует случайное число с плавающей точкой в диапазоне от 0 до 1.12SELECT RAND();      -- 0.707365088352935SELECT RAND();      -- 0.173808327956812

Например, возьмем таблицу:

1
2
3
4
5
6
7
8
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
);

Округлим произведение цены товара на количество этого товара:

1
2
SELECT ProductName, ROUND(Price * ProductCount, 2)
FROM Products;

Поділитись