Использование функций


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

В листинге 7.20 приведен пример использования функции version(), которая возвращает версию сервера MySQL.

Как видно из листинга 7.20, для использования функции version о не требуется применение ключевого слова from, т. к. параметры таблицы не нужны. Однако использование его не возбраняется (листинг 7.21).

В этом случае результат функции version () выступает в качестве строковой константы (см. листинг 7.4) при выборке из таблицы catalogs.

Для того чтобы исключить повторение результата по числу строк, в таблице в MySQL применяется таблица dual, на самом деле не существующая, но которая может быть использована в предложении from.

Чаще функция принимает параметры, например, имена столбцов. Функция count()возвращает число записей в таблице и принимает в качестве аргумента имя столбца. Функция возвращает число строк в таблице, значения столбца для которых отличны от NULL.

В качестве параметра функции наряду с именами столбцов может выступать символ звездочка "*". Одной из особенностей использования функций является то, что название столбца в результирующей таблицы совпадает с названием функции и ее параметрами. Часто это неудобно, особенно в прикладных программах, где после выполнения запроса обращение к результату происходит по имени столбца. В select-запросе столбцу можно назначить новое имя, для этого предназначен оператор as. В листинге 7.24 результату функции count () присваивается новый псевдоним total.

Новое имя можно использовать в других частях SQL-запроса, в выражениях where и order by.

В качестве дополнительного примера можно привести функции min () и мах (), возвращающие минимальное и максимальное значения столбца, имя которого передано в качестве параметра

Однако использование функций min () и max () в выражении where приведет к ошибке. В листинге 7.26 показана попытка извлечения записи из таблицы catalogs с максимальным значением поля id_catalog.

Решение поставленной выше задачи следует искать с привлечением выражения order by. В листинге 7.27 первый запрос извлекает запись с наименьшим значением поля id_catalog, а второй — с наибольшим.

СУБД MySQL имеет большое число встроенных функций.

 



Дата добавления: 2020-11-18; просмотров: 353;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.