Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любая задача на C/C++
Одно любое задание в mYsql
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Главная » Лекции » Информатика и программирование » Язык реляционных баз данных SQL » Использование функций манипулирования данными

Использование функций манипулирования данными

2021-03-09СтудИзба

8. Использование функций манипулирования данными

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

1. Выборка части строки – Access – MID(), MySQL, MS SQL – SUBSTRING(), Oracle – SUBSTR();

2. Получение текущей даты – Access – NOW(), MySQL – CURDATE(), MS SQL – GETDATE(), Oracle – SYSDATE.

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

В большинстве реализаций SQL поддерживаются следующие типы функций:

· Текстовые функции – используются для управления текстовыми строками, например, для обрезания или заполнения значений, преобразование значений из одного регистра в другой.

· Числовые функции – используются для выполнения математических операций над числовыми данными, например, вычисление абсолютной величины, алгебраических вычислений.

· Функции даты и времени – используются для управления значениями даты и времени, для выборки отдельных частей этих значений, например, проверка даты на корректность, вычисления разницы между датами.

Рекомендуемые материалы

· Системные функции – используются для системных нужд СУБД, например, возвращают регистрационную информацию пользователя.

8.1.  Функции манипулирования текстом

Мы рассматривали функции TRIM(), RTRIM(), LTRIM(). Рассмотрим еще одну функцию UPPER() (в Access – UCASE) – преобразование текста в верхний регистр.

SELECT vend_name, UCASE (vend_name) AS vend_name_upcase           

FROM Vendors                                                            

ORDER BY vend_name;                                             

--------------------------

 vend_name                                vend_name_upcase

 Bear Emporium                         BEAR EMPORIUM

 Beras R Us                                BERAS R US

 Doll House Inc.                         DOLL HOUSE INC.

 Fun and Games                         FUN AND GAMES

 Furball Inc.                                FURBALL INC.

 Jouets et ours                             JOUETS ET OURS

Еще некоторые функции:

LOWER() (LCASE)  - преобразует строку в нижний регистр; 

LEFT() - возвращает символы из левой части строки;

LENGTH() (LEN()) - возвращает длину строки.

 8.2.  Функции манипулирования датой и временем

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

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

SELECT order_num

FROM Orders                                                               

WHERE DATEPART(‘yyyy’, order_date) = 2004;                                       

--------------------------

order_num

20005

20006

20007

20008

20009

Используем функцию DATEPART(‘yyyy’, order_date), которая возвращает только часть даты и имеет два параметра: часть, подлежащая возвращению, и дата, из которой эта часть возвращается. Из столбца order_date возвращается только год.

В MySQL можно использовать функцию YEAR() для выборки значения года.

SELECT order_num

FROM Orders                                                               

WHERE YEAR( order_date) = 2004; 

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

 

8.3.  Функции манипулирования числами

                         

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

ABS()                        Возвращает абсолютное значение числа

Рекомендуем посмотреть лекцию "6 Гипертекстовые ссылки".

COS()                        Возвращает косинус указанного угла

EXP()                         Возвращает экспоненту указанного числа

PI()                             Возвращает значение числа пи

SIN()                          Возвращает синус указанного угла

SQRT()                      Возвращает квадратный корень указанного числа

TAN()                        Возвращает тангенс указанного угла

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее