Неудивительно, что MySQL, как и любая другая известная своей гибкостью реляционная СУБД, имеет в своем арсенале большой спектр встроенных функций, существенно упрощающих обработку данных, хранящихся в ее таблицах. Удивление вызывает разнообразие ее функций - их насчитывается более 100, от простых математических функций до усовершенствованных программ сравнения и обработки данных. Этот широкий диапазон возможностей позволяет разработчикам MySQL выполнять самые сложные операции при минимальных затратах на кодирование и является одной из основных причин популярности MySQL.
Эта глава посвящена описанию различных встроенных функций MySQL. Здесь объясняется работа важнейших из них на примерах работающего кода, начиная с операций сравнения строк и заканчивая вычислениями дат и времени, арифметическими операциями, преобразованием данных и выполнением других задач. Эти встроенные функции можно разбить на следующие группы:
■ математические функции;
■ агрегатные функции;
■ функции обработки строк;
■ функции обработки календарных дат и времени;
■ функции шифрования данных;
■ функции управления работой программы;
■ функции форматирования;
■ функции преобразования типов;
■ функции получения системной информации. 
Математические функции
Так как MySQL имеет набор традиционных арифметических операторов, эта реляционная СУБД в своем арсенале обеспечивает поддержку большого диапазона математических функций.
Функции MySQL
Часто используются функции определения наибольшего или наименьшего числа из группы чисел. Рассмотрим следующий пример, демонстрирующий функции GREATEST() и LEAST() в действии.
Функции MySQL
Для определения ближайшего большего целого числа или ближайшего меньшего целого числа используются функции FLOOR и CEILING.
Функции MySQL
В следующем листинге представлена аналогичная функция, хотя и предназначенная для несколько других целей, - функция TRUNCATE, которая просто усекает число до заданного количества цифр после запятой.
Функции MySQL
Функции MySQL
На заметку
Одним из вариантов функции LOG() является функция LOG10(), возвращающая логарифм по ос­нованию 10 и функция LOG2(), возвращающая логарифм по основанию 2.
Функция EXP() является обратной функцией к функции LOG(), возвращая значение экспоненты заданного числа.
Функции MySQL
Функции SIN(), COS() и TAN() возвращают синус, косинус и тангенс заданного угла (значение угла задается в радианах).
Функции MySQL
Функции MySQL