Функции даты и времени

  • Часть 1
  • | 2
  • | 3

SELECT S.*, CURRENT_TIMESTAMP FROM Services S;.

Результат выполнения запроса представлен на рис. 3.30.

GAZSERVICECD

GAZSERVICENM

CURRENT TIMESTAMP

1

Доставка газа

04.05.2007 11:23

2

Заявочный ремонт ГО  04.05.2007 11:23

Рис. 3.30. Результат работы функции CURRENT_TIMESTAMP

Для возврата текущей даты сервера можно использовать функцию CURRENT_DATE, а для возврата системного времени сервера – функцию CURRENT_TIME.

Функция DATEADD возвращает значение типа дата, время или дата/время, увеличенное или уменьшенное (если количествоотрицательное) по сравнению с исходным значением на заданное количество лет, месяцев, дней, недель, часов, минут или секунд. Функция имеет следующий формат:

DATEADD ( количество<временной_отрезок> FOR <значение> )

или

DATEADD(<временной_отрезок>, количество, <значение> ), где количество- количество прибавляемых или вычитаемых единиц;

<временной_отрезок> ::= { YEAR | MONTH| DAY | WEEKDAY| HOUR | MINUTE| SECOND };

<значение> - значение типа дата, время или дата/время, которое увеличивается или уменьшается.

Следует отметить следующее:

-       YEAR, MONTH, DAY и WEEKDAY в качестве временного отрезка не могут использоваться со значениями типа время (например, тип TIME);

-       HOUR, MINUTE и SECOND в качестве временного отрезка не могут использоваться со значениями типа дата (например, тип DATE);

-       все значения временного отрезка могут быть использованы для типов дата/время (тип TIMESTAMP).

Например, требуется вывести даты регистрации ремонтных заявок с кодом неисправности, равным 1, и даты через две недели после их регистрации. Запрос будет выглядеть следующим образом: SELECT IncomingDate,

DATEADD (2 WEEKDAY FOR IncomingDate) AS Exec_Limit FROM Request WHERE FailureCD = 1;.

Результат выполнения предыдущего запроса представлен на рис. 3.31.

INCOMINGDATE

EXEC LIMIT

17.12.2001

31.12.2001

07.08.2001

21.08.2001

31.12.2001

14.01.2002

06.11.2001

20.11.2001

Рис. 3.31. Результат работы функции DATEADD

предыдущаяследующая