Базы данных
и язык SQL

Страница 5 Примеры с функцией DATEADD

Навигация по уроку Связанные темы
Назад<<<СодержаниеВперёд>>>

Функция DATEADD (interval, number, date) возвращает момент времени, полученный в результате добавления к выбранной дате (date) одного или нескольких (number) интервалов (interval) времени.

Ниже приведены возможные значения добавляемых интервалов и их условные обозначения.

IntervalОбозначения
Деньdd, d
День годаdy, y
Часhh
Миллисекундаms
Минутаmi, n
Месяцmm, m
Кварталqq, q
Секундаss, s
Неделяwk, ww
Годyy, yyyy

Работаем с базой данных "Недвижимость". Её схема и имена столбцов таблиц, которые нам понадобятся в примерах - на странице 2.

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

Пример 9. Найти день, который будет через квартал после последней сделки менеджера Петрова. Пишем следующий запрос:

USE realestate; SELECT DATEADD (qq, 1, (SELECT MAX(date) FROM Deal D JOIN Manager M ON D.Manager_ID = M.Manager_ID WHERE M.LName = 'Петров') );
2019-02-22

Как видим, интересующая нас дата извлекается при помощи подзапроса.

Пример 10. Найти день, который будет через 2 месяца после последней сделки с объектом проекта "сталинка". Запрос будет следующим:

USE realestate; SELECT DATEADD (mm, 2, (SELECT MAX(date) FROM Deal D JOIN Object Ob ON D.Object_ID = Ob.Obj_ID WHERE Ob.Project = 'сталинка') );

Запрос вернёт следующее значение:

2018-11-16

Составить SQL запрос с DATEADD самостоятельно, а затем посмотреть решения

Пример 11. Найти день, который будет через две недели после последней сделки с объектом в районе Пашино.

Правильное решение и ответ.

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

Назад<<<СодержаниеВперёд>>>