Понеділок, 25.11.2024, 10:48
Головна Реєстрація RSS
Вітаю Вас, Гість
Меню сайту
Реклама
Категорії розділу
Архітектура ПК [1]
Архітектура та експлуатація персонального комп'ютера
СПЗ [12]
Системне програмне забезпечення та операційні системи
Комп'ютерна графіка [25]
КСМ [28]
Комп'ютерні системи та мережі
ІСІТО [1]
Інформаційні системи і технології обліку
Бухгалтерський облік [0]
АМтП [10]
Алгоритмічні мови та програмування
Копирайт рерайт [1]
СУБД [18]
Системи управління базами даних
ОКТ практикум [2]
Основи комп'ютерних технологій практикум
Інформатика (практ) [1]
інформатика практикум, практичні заняття
ТіОБВ [61]
Технологія і організація будівельного виробництва
ОСАПр [6]
Основи систем автоматизованого проектування, AutoCAD, ArchiCAD
ТіОБВ (заочники) [1]
Пошук
Статистика


Яндекс.Метрика
Онлайн всього: 3
Гостей: 3
Користувачів: 0
Форма входу
Календар
«  Вересень 2013  »
ПнВтСрЧтПтСбНд
      1
2345678
9101112131415
16171819202122
23242526272829
30
Головна » 2013 » Вересень » 5 » SQL урок 7 Функціїї обробки даних
15:51
SQL урок 7 Функціїї обробки даних

Как и в большинстве языков программирования, в SQL существуют функции для обработки данных. Стоит отметить, что в отличие от SQL-операторов, функции не стандартизованы для всех видов СУБД, то есть для выполнения одних и тех же операции над данными, разные СУБД имеют свои собственные имена функций. Это означает, что код запроса написан в одной СУБД может не работать в другой, и это нужно учитывать в дальнейшем. Больше всего это касается функций для обработки текстовых значений, преобразования типов данных и манипуляций над датами.

Обычно СУБД поддерживается стандартный набор типов функций, а именно:

  • Текстовые функции, которые используются для обработки текста (выделение части символов в тексте, определение длины текста, перевод символов в верхний или нижний регистр ...)
  • Числовые функции. Используются для выполнения математических операций над числовыми значениями
  • Функции даты и времени (осуществляют манипулирования датой и временем, рассчитывают период между датами, проверяют даты на корректность и т.п.)
  • Статистические функции (для вычисления максимальных /минимальных значений, средних значений, подсчет количества и суммы ...)
  • Системные функции (предоставляют разного рода служебную информацию о СУБД, пользователе и др..).

1. Функции SQL для обработки текста

Реализация SQL в СУБД Access имеет следующие функции для обработки текста:

 

Знак операції
Значення
LEFT() Отбирает символы в тексте слева
RIGHT() Отбирает символы в тексте справа
MID() Отбирает символы с середины текста
UCase() Переводит символы в верхний регистр
LCase() Переводит символы в нижний регистр
LTrim() Удаляет все пустые символы слева от текста
RTrim() Удаляет все пустые символы справа от текста
Trim() Удаляет все пустые символы с обеих сторон текста

Переведем названия товаров в верхний регистр с помощью функции UCase():

SELECT Product, UCase(Product) AS Product_UCase FROM Sumproduct

Выделим первые три символа в тексте с помощью функции LEFT():

SELECT Product, LEFT(Product, 3) AS Product_LEFT FROM Sumproduct

2. Функции SQL для обработки чисел

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

 

Знак операции
Значение
SQR() Возвращает корень квадратный указанного числа
ABS() Возвращает абсолютное значение числа
EXP() Возвращает экспоненту указанного числа
SIN() Возвращает синус указанного угла
COS() Возвращает косинус указанного угла
TAN() Возвращает тангенс указанного угла

Мы привели лишь несколько основных функций, однако вы всегда можете обратиться к документации вашей СУБД, чтобы увидеть полный перечень функций, которые поддерживаются с их подробным описанием.

Например, напишем запрос для получения корня квадратного для чисел в столбце Amount с помощью функции SQR():

SELECT Amount, SQR(Amount) AS Amount_SQR FROM Sumproduct

 

3. Функции SQL для обработки даты и времени

Функции манипулирования датой и временем являются одними из важнейших и часто используемых функций SQL. В базах данных значения дат и времени хранятся в специальном формате, поэтому их невозможно использовать напрямую без дополнительной обработки. Каждая СУБД имеет свой набор функций для обработки дат, что, к сожалению, не позволяет переносить их на другие платформы и реализации SQL.

Список некоторых функций для обработки даты и времени в СУБД Access:

 

Знак операции
Значение
DatePart() Возвращает часть даты: год, квартал, месяц, неделя, день, час, минуты, секунды
Year(), Month() Возвращает год и месяц соответственно
Hour(), Minute(), Second() Возвращает час, минуты и секунды указанной даты
WeekdayName() Возвращает название дня недели

Посмотрим на примере как работает функция DatePart():

SELECT Date1, DatePart("m", Date1) AS Month1 FROM Sumproduct

Функция DatePart () имеет дополнительный параметр, который нам позволяет отобразить необходимую часть даты. В примере мы использовали параметр "m" , который отображает номер месяца (таким же образом мы можем отразить год - "yyyy" , квартал - "q ", день - " d ", неделю - " w ", час - " h ", минуты - "n" , секунды - "s" и т.д.).

4. Статистические функции SQL

Статистические функции помогают нам получить готовые данные без их выборки. SQL-запросы с этими функциями часто используются для анализа и создания различных отчетов. Примером таких выборок может быть: определение количества строк в таблице, получение суммы значений по определенному полю, поиск наибольшего /наименьшего или среднего значения в указанном столбце таблицы. Также отметим, что статистические функции поддерживаются всеми СУБД без особых изменений в написании.

Список статистических функций в СУБД Access:

 

Знак операции
Значение
COUNT() Возвращает число строк в таблице или столбце
SUM() Возвращает сумму значений в столбце
MIN() Возвращает наименьшее значение в столбце
MAX() Возвращает наибольшее значение в столбце
AVG() Возвращает среднее значение в столбце

Примеры использования функции COUNT():

SELECT COUNT(*) AS Count1 FROM Sumproduct - возвращает количество всех строк в таблице

SELECT COUNT(Product) AS Count2 FROM Sumproduct - возвращает количество всех непустых строк в поле Product

Мы намеренно удалили одно значение в столбце Product , чтобы показать разницу в работе двух запросов.

Примеры использования функции SUM():

SELECT SUM(Quantity) AS Sum1 FROM Sumproduct WHERE Month = 'April'

Данным запросу мы отразили общее количество проданного товара в апреле.

SELECT SUM(Quantity*Amount) AS Sum2 FROM Sumproduct

Как видим, в статистических функциях мы можем осуществлять вычисления над несколькими столбцами с использованием стандартных математических операторов.

Пример использования функции MIN():

SELECT MIN(Amount) AS Min1 FROM Sumproduct

Пример использования функции MAX():

SELECT MAX(Amount) AS Max1 FROM Sumproduct

Пример использования функции AVG():

SELECT AVG(Amount) AS Avg1 FROM Sumproduct

Категорія: СУБД | Переглядів: 763 | Додав: Gryzley | Рейтинг: 0.0/0
Всього коментарів: 0
Ім`я *:
Email *:
Код *: