В чем разница между CURRENT и TODAY в Informix? - PullRequest
1 голос
/ 29 сентября 2019

Я младший в Informix, и я борюсь с некоторыми расчетами даты.У меня есть этот фрагмент кода в моем источнике:

LET dtRefDate = TODAY;

IF extend( CURRENT, hour to hour ) BETWEEN '06' AND '23'  THEN LET
   dtRefDate = TODAY+1;
END IF;

Может кто-нибудь объяснить мне, пожалуйста, что делает функция extension?и в чем разница между ТЕКУЩИМ и СЕГОДНЯ?Я не понял разницу от официальной документации IBM.Спасибо

1 Ответ

2 голосов
/ 29 сентября 2019

TODAY возвращает значение DATE, CURRENT возвращает значение DATETIME (YEAR TO FRACTION (3)).

EXTEND используется для извлечения отдельных частей значения DATE или DATETIME.

Просмотрна этих примерах:

> select CURRENT from table(set{1});
(expression)
2019-09-29 10:07:12.000
1 row(s) retrieved.

> select TODAY from table(set{1});
(expression)
09/29/2019
1 row(s) retrieved.

> select extend(TODAY,year to year) from table(set{1});
(expression)
2019
1 row(s) retrieved.

> select extend(TODAY,month to day) from table(set{1});
(expression)
09-29
1 row(s) retrieved.

> select extend(CURRENT,hour to minute) from table(set{1});
(expression)
10:08
1 row(s) retrieved.

>
...