Как уже отмечалось, эти функции выполняют различные действия над входными значениями времени и даты и возвращают строковое, числовое значение или значение в формате даты и времени.
Для выделения значений дня, месяца и года из даты используется функция EXTRACT. Синтаксис этой функции следующий: EXTRACT( { DAY | MONTH | YEAR} FROM <значение> ), где <значение> - любое выражение, возвращающее результат типа «дата-время». Пусть, например, требуется для каждой ремонтной заявки, год поступления которой отличается от 2001, указать ее номер, день, месяц и год даты поступления. Для этого можно использовать следующий запрос: SELECT RequestCD,
EXTRACT(DAY FROM IncomingDate)
AS IncomingDay, EXTRACT (MONTH FROM IncomingDate)
AS IncomingMonth, EXTRACT (YEAR FROM IncomingDate) AS IncomingYear FROM Request
WHERE EXTRACT (YEAR FROM IncomingDate) IS DISTINCT FROM 2001;. Результат выполнения запроса представлен на рис. 3.29.
|
REQUESTCD |
INCOMINGDAY |
INCOMINGMONTH |
INCOMINGYEAR |
|
3 |
28 |
2 |
1998 |
|
7 |
20 |
10 |
1998 |
|
11 |
12 |
1 |
1999 |
|
13 |
4 |
9 |
2000 |
|
14 |
4 |
4 |
1999 |
|
15 |
20 |
9 |
2000 |
|
18 |
28 |
12 |
1999 |
Рис. 3.29. Результат работы функции EXTRACT
Для получения значений текущей даты и системного времени сервера используются функции CURRENT_TIMESTAMP, CURRENT_DATE и CURRENT_TIME.
Функция CURRENT_TIMESTAMP возвращает значение типа TIMESTAMP (дату и время вместе).
Например, вывести данные таблицы Services и текущие дату и время можно помощью следующего запроса:
предыдущаяследующая