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

Сведем математические функции в таблицу.

Функция назначение Пример Результат
ABS(число) функция возвращает модуль числа ABS(-3.057) 3.057
ASIN(число) функция возвращает арксинус числа ASIN(0.2) 0.2013
ACOS(число) функция возвращает арккосинус числа ACOS(0) 1.5707
ATAN(число) функция возвращает арктангенс числа ATAN(1) 0.7853
ATAN2(число1, число2) функция возвращает угол в радианах точки с заданными координатами ATAN2(3,7) 0.40489
CEILING(число) CEIL(число) функция округляет число до ближайшего большего целого числа. CEIL(1.3)
PI() возвращает значение числа Математические функции MySQL - student2.ru . По умолчанию отображается пять знаков после десятичной запятой, но внутренне MySQL использует полное представление действительного числа двойной точности PI() 3.141593
SIN(число) функция возвращает синус числа в радианах SIN(1) 0.8414
COS(число) Возвращает косинус числа COS(PI())) -1.0000
TAN(число) возвращает тангенс числа TAN(PI()+1) 1.5574
COT(число) COT(число) COT(12) -1.5726
CRC32(выражение) Вычисляет проверочное значение в циклическом избыточном коде и возвращает 32-разрядное целое. Результат равен NULL, если передается аргумент NULL. Ожидается, что аргумент будет строкой, и будет рассматриваться в качестве таковой в противном случае. CRC32(MySQL)
DEGREES(число) возвращает аргумент, преобразованный из радианов в градусы DEGREES(PI()) 180.00
ЕХР(число) функция возводит число e (основание натурального логарифма) в заданную степень.   EXP(2) 7.389
FLOOR(число) функция округляет число до ближайшего меньшего целого числа FLOOR(1.6)
GREATEST(...) функция возвращает наибольшее значение из списка. Она может работать как с числами, так и со строками GREATEST(1,4,6)
LEAST(...) Функция возвращает наименьшее значение из списка. LEAST(1,4,6)
LN(число) функция возвращает натуральный логарифм числа LN(2) 0.6931
LOG(число) При вызове с одним параметром функция LOG возвращает натуральный логарифм числа, а при вызове с двумя параметрами - возвращает логарифм числа2 по основанию число1 LOG(число1, число2) эквивалентна LOG(число2) / LOG(число1). LOG(2,65536) 16.000
LOG2(число) возвращает логарифм числа по основанию 2. Функция LOG2() удобна для того, чтобы определить, сколько бит потребуется для сохранения числа. Вместо нее можно использовать LOG(число) /LOG(2) LOG2(65536) 16.00
LOG10(число) Возвращает логарифм числа по основанию 10 LOG10(100)
MOD(число1, число2) число1 % число2 число1 MOD число2 функция возвращает остаток от деления первого числа на второе подобно оператору %. MOD(235,10)
POW(число1, число2) POWER(число1, число2) Возвращает значение число1, возведенное в степень число2 POW2,3) 8.00
RADIANS(число) возвращает аргумент, преобразованный из градусов в радианы RADIANS(90) 1.5707
RAND([число]) Возвращает случайное число двойной точности в диапазоне от 0 до 1. Если указан целочисленный аргумент, он служит начальным числом для генератора случайных чисел (генерируя повторяющуюся последовательность). Если аргумент отсутствует, используется значение системных часов. Функцию можно использовать для извлечения строк в случайном порядке. mysql> SELECT * FROM имя_таблицы ORDER BY RAND(); ORDER BY RAND() в комбинации с LIMIT удобно для выбора случайного примера из набора строк: mysql> SELECT * FROM tablel, table2 WHERE a=b AND c<d-> ORDER BY RAND() LIMIT 1000; RAND() в конструкции WHERE вычисляется заново при каждом выполнении WHERE. RAND()   0.1587…
ROUND(число [, точность]) функция округляет число с плавающей запятой до целого числа или, если указан второй аргумент, до заданного количества цифр после запятой. Если точность отрицательная, обнуляется целая часть числа. Следует отметить, что поведение ROUND(), когда аргумент точно на середине отрезка между двумя целыми, зависит от реализации библиотеки С. Различные реализации округляют до ближайшего четного, либо всегда в большую сторону, либо всегда в меньшую сторону, либо в сторону ближайшего нуля. Если вам нужно иметь предсказуемое поведение в этом случае, применяйте вместо этой функции TRUNCATE() ИЛИ FLOOR() ROUND(-1.45) -1
SIGN(число) возвращает знак аргумента как -1, 0 или 1, в зависимости от того, число отрицательное, нуль или положительное SIGN(-24) -1
SQRT(число) функция возвращает квадратный корень числа SQRT(16)
TRUNCATE(число1, число2) возвращает число1 с дробной частью, усеченной до число2 десятичных разрядов. Если число2 равно 0, результат не имеет точки и дробной части. Если число2 отрицательное, целая часть числа длиной число2 обнуляется. Все числа округляются в сторону нуля. Десятичные числа обычно хранятся в компьютерах в виде двоичных значений двойной точности, поэтому иногда результат может вызвать удивление: TRUNCATE(10.28*100,0)=1027 Это происходит потому, что 10.28 на самом деле сохраняется как 10.27999999999999 TRUNCATE(1.323)   1.3

Контрольные вопросы.

1. Перечислите четыре вида соединений.

2. При каком соединении записи, для которых не имеется пары в связанной таблице, в результат не включаются?

3. При каком соединении условие ON опускается?

4. Какие соединения применяются для получения полного набора записей одной из таблиц?

5. С помощью какого соединения можно получить декартово произведение таблиц?

6. Чем отличается порядок записей в итоговом наборе, полученном с помощью соединения Join и объединения Union?

7. Из какого запроса берутся имена полей итогового набора при объединении (Union)?

Наши рекомендации