Использование функций даты и времени
Microsoft Access хранит значения дат и времени как десятичные числа длиной восемь байт. Чтобы сообщить Access о том, что вы вводите дату и время, заключите значение в символы числа (#). Для указания конкретной даты используйте нотацию, которая вам кажется наиболее удобной. Например, #15 апреля 2008#, #15/04/08# и #15-апр-2008# определяют одну и ту же дату. Точно так же #5:30 PM# и #17:30# определяют время «семнадцать часов тридцать минут».
Access предоставляет несколько функций, которые могут оказаться полезными при задании условий отбора для дат и времени. Ниже приведены описания основных функций для работы с датами и временем (таблица 1).
Таблица 1 – Описание функций даты и времени
Функция | Описание |
Day(дата) | Возвращает значение дня месяца в диапазоне от 1 до 31 |
Year(дата) | Возвращает значение года в диапазоне от 100 до 9999 |
Month(дата) | Возвращает значение месяца года в диапазоне от 1 до 12 |
Weekday(дата) | По умолчанию возвращает целое число от 1 (Воскресенье) до 7 (Суббота), соответствующее дню недели |
Hour(дата) | Возвращает целое число от 0 до 23, представляющее значение часа |
Now() | Возвращает дату и время часов компьютера. |
Date() | Возвращает текущую системную дату |
DateDiff() | Находит разницу между двумя датами |
Приведем примеры использования функций для работы с датами и временем (таблица 2).
Таблица 2 – Примеры применения функций
Поле | Выражение | Описание |
Дата доставки | < Date( )- 30 | Использует функцию Date для отображения заказов, сделанных ранее, чем 30 дней назад. |
Дата отправки | Year([Дата отправки])=2008 | Использует функцию Year для отображения заказов, сделанных в 2008 году. |
Дата доставки | Year([Доставка]![Дата доставки])=Year(Date()) And Month([Доставка]![Дата доставки])=Month(Date()) | Использует функции Year и Month, а также оператор And для отображения доставок текущего года и месяца. |
Разница между датами | DateDiff(“d“; #12.04.2007#; #28.04.2007#) = 16 | Находит разницу между двумя датами (“d“ – в днях, “ww”– в неделях, “m” – в месяцах, “yyyy” – в годах и др. ), в данном случае разница должна составлять 16 дней. |