План:
Агрегатные функции
Преобразование текста
Работа со строками
SQL позволяет выполнять различные арифметические операции над столбцами результирующего отношения. В конструкции можно использовать константы, функции и их комбинации с арифметическими операциями и скобками.
В арифметических выражениях допускаются операции сложения (+), вычитания (-), деления (/), умножения (*), а также различные функции (COS, SIN, ABS - абсолютное значение и т.д.).
Агрегатные функции
В SQL также определены так называемые агрегатные функции, которые совершают действия над совокупностью одинаковых полей в группе записей. Среди них:
AVG() - среднее по всем значениям данного поля
COUNT() или COUNT (*) - число записей
MAX() - максимальное из всех значений данного поля
MIN() - минимальное из всех значений данного поля
SUM() - сумма всех значений данного поля
Следует учитывать, что каждая агрегирующая функция возвращает единственное значение.
Область действия данных функции можно ограничить с помощью логического условия.
Преобразование текста
Часто, текстовые значения заполняются пользователями программного обеспечения по-разному: кто пишет Ф.И.О. с заглавной буквы, кто нет; кто-то пишет все заглавными буквами. Многие отчетные формы требуют унифицированного подхода, да и не только отчетные формы. Для решения этой задачи в SQL есть две функции UCASE - преобразует символы строки в верхний регистр и LCASE - преобразует символы строки в нижний регистр.
Работа со строками
MID(text, start_num, num_chars)- возвращает строку символов из середины текстовой строки с учетом начальной позиции и длины, где text - текстовая строка, из которой нужно извлечь символы, или столбец, содержащий текст; start_num - положение первого символа, который необходимо извлечь (начинаются с 1); num_chars - число возвращаемых символов.
Иногда приходится в качестве аргументов функции MID использовать выражения с функцией LEN:
LEN(column_name)- возвращает длину значения в поле записи.
Функция LEN( ) исключает из подсчета конечные пробелы.
Вопросы для самоконтроля:
Какие операции и функции можно выполнять над данными в SQL?
Что такое агрегатные функции? Какие функции входят в эту группу?
Какие функции для работы со строками в SQL вам известны?