Spec-Zone .ru
спецификации, руководства, описания, API

Глава 12. Функции и Операторы

Оглавление

12.1. Функция и Ссылка Оператора
12.2. Преобразование типов в Вычислении выражения
12.3. Операторы
12.3.1. Приоритет оператора
12.3.2. Функции сравнения и Операторы
12.3.3. Логические операторы
12.3.4. Операторы присваивания
12.4. Функции Потока управления
12.5. Строковые функции
12.5.1. Функции Сравнения строк
12.5.2. Регулярные выражения
12.6. Числовые Функции и Операторы
12.6.1. Арифметические Операторы
12.6.2. Математические Функции
12.7. Дата и Функции Времени
12.8. Какой MySQL Calendar Is Used By?
12.9. Полнотекстовые Функции Поиска
12.9.1. Естественный язык Полнотекстовые Поискы
12.9.2. Булевы Полнотекстовые Поискы
12.9.3. Полнотекстовые Поискы с Расширением Запроса
12.9.4. Полнотекстовый Stopwords
12.9.5. Полнотекстовые Ограничения
12.9.6. Подстройка MySQL Full-Text Search
12.9.7. Добавление Сопоставления для Полнотекстовой Индексации
12.10. Функции броска и Операторы
12.11. XML Функции
12.12. Разрядные Функции
12.13. Шифрование и Функции Сжатия
12.14. Информационные Функции
12.15. Функции GTID
12.16. Разные Функции
12.17. Функции и Модификаторы для Использования с GROUP BY Пункты
12.17.1. GROUP BY (Совокупные) Функции
12.17.2. GROUP BY Модификаторы
12.17.3. MySQL Extensions к GROUP BY
12.18. Пространственные Расширения
12.18.1. Введение в MySQL Spatial Support
12.18.2. Модель Геометрии OpenGIS
12.18.3. Поддерживаемые Пространственные Форматы данных
12.18.4. Создание Базы данных MySQL Spatially Enabled
12.18.5. Пространственные Аналитические Функции
12.18.6. Оптимизация Пространственного Анализа
12.18.7. MySQL Conformance и Compatibility
12.19. Математика точности
12.19.1. Типы Числовых значений
12.19.2. DECIMAL Изменения Типа данных
12.19.3. Обработка выражения
12.19.4. Округление Поведения
12.19.5. Математические Примеры точности

Выражения могут использоваться в нескольких точках в SQL-операторах, такой как в ORDER BY или HAVING пункты SELECT операторы, в WHERE пункт a SELECT, DELETE, или UPDATE оператор, или в SET операторы. Выражения могут быть записаны, используя литеральные значения, значения столбцов, NULL, встроенные функции, сохраненные функции, определяемые пользователем функции, и операторы. Эта глава описывает функции и операторы, которые разрешаются для того, чтобы записать выражения в MySQL. Инструкции для того, чтобы записать сохраненные функции и определяемые пользователем функции даются в Разделе 19.2, "Используя Сохраненные Подпрограммы (Процедуры и Функции)", и Разделе 23.3, "Добавляя Новые Функции к MySQL". См. Раздел 9.2.4, "Парсинг имени функции и Разрешение", для правил, описывающих, как сервер интерпретирует ссылки на различные виды функций.

Выражение, которое содержит NULL всегда производит a NULL оцените если иначе не обозначено в документации для определенной функции или оператора.

Отметить

По умолчанию не должно быть никакого пробела между именем функции и круглой скобкой после него. Это помогает синтаксическому анализатору MySQL различить вызовы функции и ссылки на таблицы или столбцы, у которых, оказывается, есть то же самое имя как функция. Однако, пробелы вокруг аргументов функции разрешаются.

Можно сказать серверу MySQL принимать пробелы после имен функций, запуская это с --sql-mode=IGNORE_SPACE опция. (См. Раздел 5.1.7, "Режимы SQL Сервера".) Отдельные клиентские программы могут запросить это поведение при использовании CLIENT_IGNORE_SPACE опция для mysql_real_connect(). В любом случае все имена функций становятся зарезервированными словами.

Ради краткости большинство примеров в этой главе выводит на экран вывод из mysql программы в сокращенной форме. Вместо того, чтобы показывать примеры в этом формате:

mysql> SELECT MOD(29,9);+-----------+| mod(29,9) |+-----------+|         2 |+-----------+1 rows in set (0.00 sec)

Этот формат используется вместо этого:

mysql> SELECT MOD(29,9);        -> 2