- •Лабораторный практикум по дисциплине Базы данных и управление ими
- •Часть 2
- •Лабораторный практикум по дисциплине "Базы данных и управление ими"
- •Учебная база данных education3
- •Лабораторная работа № 1
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа №4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 10
- •Лабораторная работа № 11
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •Лабораторная работа № 14
- •Приложение 1
Лабораторная работа № 9
ПРЕОБРАЗОВАНИЕ ВЫВОДА И ВСТРОЕННЫЕ ФУНКЦИИ
Порядок выполнения
1). Ознакомиться с назначением и форматами функций (см. приложение).
2) Выполнить преобразование числовых данных с использованием функций SIN, FLOOR, CEILING, EXP, SQRT, ROUND, MOD, LN, LOG10.
Аргументами функций могут быть числовые константы, числовые поля таблиц (но не поля идентификаторов записей), или выражения, использующие эти константы и поля. При этом обязателен вывод аргумента или выражения и результата, возвращенного функцией. Сформировать запросы и вывести их результаты в одном отчетном файле. Текст каждого запроса должен выводиться в отчетном файле непосредственно перед его результатом.
Для функций FLOOR, CEILING, ROUND, MOD аргументы должны иметь по две-три цифры слева и справа от десятичной точки. Для этих и ряда других функций (см. справочную систему) возможна альтернативная форма записи вида
{Fn floor(<аргумент>)}
Рекомендуется использование вложенных функций, при этом любые промежуточные результаты, применяемые в качестве аргументов, также должны распечатываться.
3) Преобразование текстовых данных с использованием функций объединения «+» или CONCAT, вхождения CHARINDEX, LEFT, замены подстроки REPLACE, удаления начальных (LTRIM) и конечных (RTRIM) пробелов, возвращения строки пробелов SPACE, возвращения подстроки SUBSTRING.
-
вывести фамилии с инициалами для всех студентов, у которых фамилии начинаются с той же буквы, что и у Вас (если таких фамилий не обнаружится, то начинающихся с ближайшей следующей буквы алфавита):
-
используя только LEFT,
-
используя «+» и LEFT,
-
то же с вставкой точек после инициалов и пробела после фамилии,
-
определить вхождение первой буквы Вашей фамилии (строчной) в названия предметов обучения,
-
создать строку вида (‘###############Иванов############’), используя в качестве центрального элемента фамилию преподавателя (таблица lecturer), а также функции LPAD, RPAD, LEN. Общая длина формируемой строки должна быть равна 6‑кратной длине Вашей фамилии. Фамилия преподавателя должна быть в середине этой строки,
-
заменить любую выбранную Вами подстроку (1-4 символа) в поле subj_name на Вашу фамилию,
-
определить вхождение части Вашей фамилии в название дисциплин (таблица subject).
4) Преобразовать данные типа даты с использованием функций возвращения текущей даты SYSDATETIME, GETDATE (используя дополнительные команды SELECT), добавления времени к значению даты DATEADD, определения компонентов даты DATENAME с разными аргументами, MONTH, DAY, YEAR, используя в качестве основы для преобразований любое поле типа даты (например, дата рождения студента или дата сдачи экзамена). Количество записей в любой выборке не должно превышать двух-трех.
5) Используя функцию DATEDIFF определить количество месяцев между датами рождения первого и последнего в списке студентов (в таблице student). Определить разницу в возрасте между самым младшим и самым старшим студентами (в днях, неделях, месяцах, годах) выбранного Вами института.
Контрольные вопросы
-
Объедините три текстовых компонента ('Вася', 'любит', 'Машу') с помощью функции CONCAT.
-
Укажите другой способ решения этой задачи.
-
Что определяет функция CHARINDEX?
-
Как выделить из данного типа даты год, месяц, число?
-
В чем разница между функциями SYSDATETIME и GETDATE?
-
Приведите пример использования вложенных функций (не из номенклатуры заданий лабораторной работы).
-
Как округлить наличность в кармане с точностью до тысячи рублей.
-
Как сосчитать корень n-ой степени от числа R? R определите сами.
-
Каков формат функции DATEADD? Продемонстрируйте использование функции на примере.
-
Объясните и продемонстрируйте на примере использование функции SPACE.
-
Опишите формат команды DATEDIFF и приведите пример ее практического применения.
-
Параметром какой функции является DATEPART?