Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Математические функции SQL

Математические функции общего назначения

Очень часто требуется использовать в процедурах генератор случайных чисел. Для подобных задач в MySQL предусмотрены функции RAND() и RAND(N). Функция RAND() возвращает случайное число в диапазоне от 0 до 1.

Пример 1

SELECT RAND();

Результат1 : 0.04547451068225737.

Результат2: 0.2076478397544919.

Результат3: 0.9018156974593323

Функция RAND(N) при генерации случайного числа в качестве начального значения использует число N. Таким образом, при каждой генерации с одним и тем же N получается одно и то же случайное число.

Пример 2

SELECT RAND(10);

Результат1: 0.6570515219653505.

Результат2: 0.6570515219653505.

Результат3: 0.6570515219653505.

Функция ABS(x) возвращает модуль числа х.

Пример 3

SELECT ABS(-60);

Результат: 60.

SELECT ABS(120-100);

Результат: 20.

Функция SIGN(X) возвращает -1, если х отрицательно, 0, если х равно 0, 1, если х положительно. Используется для определения знака числа.

Пример 4

В таблице tovar имеется два поля:

plan – запланированное к производству количество товара, fact – фактически произведенное количество.

Нужно вывести напротив каждого товара либо «план выполнен» , либо «дефицит товара», либо «план перевыполнен» .

SELECT tovar_name, CASE SIGN(plan-fact)

WHEN -1 THEN «дефицит товара»

WHEN 0 THEN «план выполнен»

ELSE «план перевыполнен»

END

FROM tovar;

Функция MOD (x,y) возвращает остаток от деления x на у. Кроме функции MOD в mysql тот же результат можно получить используя оператор %.

«Математические функции SQL» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Пример 5

SELECT 32/8; или SELECT 32 % 8;

Результат: 0.

SELECT 33/8; SELECT 33 % 8;

Результат 1.

Функция FLOOR(x) возвращает наибольшее целое число, которое меньше или равно x.

Пример 6

SELECT FLOOR(23.6);

Результат: 23.

SELECT FLOOR(-23.6);

Результат: -24.

ФункцияCEILING(X) возвращает наименьшее целое число, которое больше или равно X:

Пример 7

SELECT CEILING (23.6);

Результат: 24.

SELECT CEILING(-23.6);

Результат: -23.

Функция TRUNCATE(x,n) отсекает десятичные знаки числа так, чтобы их оставалось ровно n.

Пример 8

SELECT TRUNCATE(10.535364,2);

Результат: 10.53.

Замечание 1

Следует понимать, что функции FLOOR и CELLING и TRUNCATE не дают округления!

Округление

Для округления чисел до ближайшего целого используется функция ROUND(x).

Пример 9

SELECT ROUND(23.6);

Результат: 24.

SELECT ROUND (-23.6);

Результат: -24.

Также можно воспользоваться функцией ROUND (x,n), которая округляет число х до некоторого числа, имеющего n десятичных знаков.

Пример 10

SELECT ROUND(10.535364,2);

Результат: 10.54.

SELECT ROUND(-1.5364,3);

Результат: -1.536.

Cтепени и логарифмы

Функции POW(x,y) и POWER(x,y) возвращают значение х в степени y.

Пример 11

SELECT POW(2,3);

Результат: 8.

Функция SQRT(x) возвращает неотрицательный квадратный корень числа x.

Пример 12

SELECT SQRT(9);

Результат: 3.

SELECT SQRT(-9);

Результат: NULL.

Функция EXP() возвращает значение числа e в степени x.

Пример 13

SELECT EXP(2);

Результат: 7.389056.

Функция LOG(x) возвращает натуральный логарифм числа x.

Пример 14

SELECT LOG(10);

Результат: 2.302585.

SELECT LOG (-10);

Результат: NULL.

Функция LOG10(x) возвращает десятичный логарифм числа x.

Пример 15

SELECT LOG10(10);

Результат: 1.

SELECT LOG10(100);

Результат: 2.

Тригономертия

Функция PI() возвращает число Pi с точностью до 5 знаков. Тригонометрические функции вычисляются при помощи следующих функций MySQL:

  • COS(x) – косинус x, где х задан в радианах;
  • SIN(x) – синус x, , где х задан в радианах;
  • TAN(x) – тангенс x, где х задан в радианах;
  • ACOS(x) – арккосинус x, где х задан в диапазоне [-1;1] ;
  • ASIN(x) – арксинус x, где х задан в диапазоне [-1;1];
  • ATAN(x) – арксинус x;
  • COT(x) – котангенс x.

Для преобразования радианов в градусы используется функция DEGREES(x).

Пример 16

SELECT DEGREES(PI());

Результат: 180.0.

Для преобразования градусов в радианы используется функция RADIANS(x).

Пример 17

SELECT RADIANS(180);

Результат: 3.1415926.

Дата написания статьи: 26.08.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot