Страница 4 Примеры с функцией DATEDIFF
Назад<<< | Содержание | Вперёд>>> |
Функция DATEDIFF (interval, date1, date2) возвращает разность во времени между двумя датами в виде интервала в тех или иных измерениях времени, например, в днях. Возможные интервалы времени и их условные обозначения даны на странице 3.
В примерах на этом уроке будем определять разность во времени в днях (dd).
Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке.
Работаем с базой данных "Недвижимость". Скрипт для создания этой базы данных, её таблиц и заполения таблиц данными - в файле по этой ссылке.
Таблица Deal содержит данные о сделках. Для наших заданий в этой таблице будет важен столбец Date с данными о дате сделки. Таблица Object содержит данные об объектах. В этой таблице нам понадобятся значения столбцов Project (например, "хрущевка", "сталинка") и District (район, например, Пашино). Таблица Manager содержат данные о менеджерах фирмы. В этих таблицах FName и LName соответственно имя и фамилия. Нам понадобится LName.

Пример 6. Найти количество дней между первой и последней сделками. Пишем следующий запрос:
Запрос вернёт следующее значение:
286 |
В этом и последующих запросах параметры date1 и date2 извлечены при помощи подзапросов. Что еще немаловажно, агрегатные функции MIN и MAX могут применяться не только по отношению к просто числам, но и по отношению к датам.
Пример 7. Найти количество дней между первой и последней сделкой с объектом проекта "хрущевка" Запрос будет следующим:
Запрос вернёт следующее значение:
247 |
Пример похож на предыдущий, но подзапросы уже посложнее: используются соединения таблиц при помощи JOIN.
Составить SQL запрос с DATEDIFF самостоятельно, а затем посмотреть решения
Пример 8. Найти количество дней между первыми сделками менеджеров Савельева и Петрова.
Поделиться с друзьями
Назад<<< | Содержание | Вперёд>>> |