FBUDF | ADDWEEK(VALUE1, VALUE2) |
Linux, Win32 | Добавляет полное количество недель к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является тип даты или времени. VALUE2: количество добавляемых недель (целое число) или целое выражение |
Возвращаемое значение | Настроенное значение TIMESTAMP (эквивалентно VALUE1 + (7 * VALUE2)) |
Замечания | Если входное значение имеет тип TIME, то недели добавляются к этому времени для текущей даты. Если это тип DATE, то время дня будет полночью |
Пример | Следующий оператор вычисляет количество недель выплаты гонорара и использует это в ADDWEEK() для вычисления конечной даты контракта: |
UPDATE CONTRACT | SET FINAL_DATE = ADDWEEK(START_DATE, TRUNCATE(CONTRACT_AMT/WEEKLY_FEE)) WHERE START DATE IS NOT NULL AND AMT_PAID IS NOT NULL AND WEEKLY_FEE IS NOT NULL AND CONTRACTED = 12345; |
Связанные или похожие функции | См. также ADDDAY(), ADDMONTH() и т.д. |
FBUDF | ADDYEAR(VALUE1, VALUE2) |
Linux, Win32 | Добавляет полное количество лет к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является тип TIMESTAMP. VALUE2: количество добавляемых лет (целое число) или целое выражение |
Возвращаемое значение | тип TIMESTAMP |
Замечания | Если входное значение имеет тип TIME, то годы добавляются к этому времени дня для текущей даты. Если это тип DATE, то время дня будет полночью |
Пример | Следующий оператор вычисляет конечную дату аренды, получая начальную дату: UPDATE LEASE SET FINAL_DATE = ADDYEAR(START_DATE, 5) WHERE START_DATE IS NOT NULL AND LEASE_ID = 12345; |
Связанные или похожие функции | См. также ADDDAY(), ADDMONTH() и т.д. |
FBUDF | GETEXACTTIMESTAMF() |
Linux, Win32 | Возвращает системное время в виде TIMESTAMP с точностью до ближайших миллисекунд |
Аргументы | Нет аргументов |
Возвращаемое значение | Тип TIMESTAMP |
Замечания | Контекстная переменная даты и времени CURRENT_TIMESTAMP и предварительно определенный литерал 'NOW' возвращают системное время только с точностью до ближайшей секунды, GETEXACTTIMESTAMP() в настоящий момент является единственным способом получить точное системное время |
Пример | Следующий оператор возвращает точное время и дату: SELECT GETEXACTTIMESTAMP() AS TSTAMP FROM RDB$DATABASE; |