Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
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 |
Замечания | Контекстная переменная даты и времени CURRENT_TIMESTAMP и предварительно определенный литерал 'NOW' возвращают системное время только с точностью до ближайшей секунды, GETEXACTTIMESTAMP в настоящий момент является единственным способом получить точное системное время |
Пример | Следующий оператор возвращает точное время и дату: SELECT GETEXACTTIMESTAMP AS TSTAMP FROM RDB$DATABASE; |
FBUDF | F_AGEINDAYS(VALUE1, VALUE2) |
Linux, Win32 | Вычисляет возраст в днях для даты(VALUE1) при ссылке на другую дату ;(VALUE2). Обычно дата, на которую ссылаются, является текущей датой, но это не обязательно должна быть она. Например, вы можете найти время, которое прошло с некоторого другого события |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. VALUE2: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP |
Возвращаемое значение | Положительное или отрицательное число типа INTEGER |
Пример | SELECT FIRST_NAME, LAST_NAME, F_AGEINDAYS(DATE_OF_BIRTH, CURRENT_DATE) AS i CURRENT_AGE | FROM MEMBERSHIP WHERE DATE_OF_BIRTH < CURRENT_DATE - (5 * 365); |
Связанные или похожие функции | См. также F_AgeInDaysThreshold |
FREEUDFLIB | F_AGEINDAYSTHRESHOLD(VALUE 1, VALUE 2, MINVALUE, USEMIN, MAXVALUE, USEMAX |
Win32 | Вычисляет возраст в днях для даты(VALUE1) при ссылке на другую дату(VALUE2) и возвращает не это значение, а указанное минимальное число, которое меньше вычисленного значения или заданного максимального числа, которое больше вычисленного значения |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. VALUE2: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. Это не обязательно должна быть дата, меньшая чем VALUE1 MINVALUE: целое число. Это возвращаемое значение, если вычисленное значение будет меньше. Установите в 0, если вам нужно использовать только MAXVALUE. USEMIN: Установите в 1, если вам нужно использовать только MINVALUE. Установите USEMAX в 0, если вам нужно использовать только MINVALUE. MAXVALUE: целое число. Это возвращаемое значение, если вычисленное значение будет больше. Установите в 0, если вам нужно использовать только MINVALUE. USEMAX: целое число. Установите в 1, если вам нужно использовать MAXVALUE. Установите USEMIN в 0, если вам нужно использовать только MAXVALUE |
Возвращаемое значение | Число типа INTEGER |
Замечания | Если последние четыре аргумента установлены в 0, эта функция работает так же, как и F_AGETHRESHOLD |
Пример | Следующий оператор вернет список, показывающий все счета с датами обязательства, меньше, чем 30 дней тому назад, вместе просроченными на 29 дней обязательствами и все с датами обязательства, более ранними, чем 90 дней тому назад, и просроченными обязательствами на 90 дней. Все остальные будут показаны с их фактическими сроками: SELECT ACCOUNT_NAME, F_AGEINDAYSTHRESHOLD(DUE_DATE, CURRENT_DATE, 29, 1, 90, 1) AS OVERDUE_AGE 1 FROM ACCOUNT; |
Связанные или похожие функции | См. также AGEINDAYS |
FREEUDFLIB | F_AGEINMONTHS(VALUE1, VALUE2) |
Win32 | Вычисляет возраст в месяцах для даты(VALUE1) при ссылке на другую дату(VALUE2). Обычно дата, на которую ссылаются, является текущей датой, но это не обязательно должна быть она. Например, вы можете найти время, которое прошло с некоторого другого события |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. VALUE2: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. Не обязательно должно быть более ранней датой, чем VALUE1 |
Возвращаемое значение | Положительное или отрицательное число типа INTEGER |
Пример | SELECT ACCOUNT NAME, F_AGEINMONTHS (DUE_DATE, CURRENT_DATE) AS OVERDUE AGE FROM ACCOUNT WHERE ACCT_BALANCE > 0 AND DUE_DATE < CURRENT_DATE - (6 * 7); |
Связанные или похожие функции | См. также F_AGEINMONTHSTHRESHOLD |
FREEUDFLIB | F_AGEINMOUTHSTHRESHOLD(VALUE1, VALUE2, MIKVALUE, USEWIM, MAXVALUE, USEMAX) |
Win32 | Работает для F_AgelnMonths так же, как и F_AgeInDaysThreshold работает для F_AGEINDAYS |
Аргументы | F_AgeInDays |
FREEUDFLIB | F_AGEINWEEKS(VALUE1, VALUE2) |
Win32 | Вычисляет возраст в неделях для даты(VALUE1) при ссылке на другую дату(VALUE2). Обычно дата, на которую ссылаются, является текущей датой, но это не обязательно должна быть она. Например, вы можете найти время, которое прошло с некоторого другого события |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. VALUE2: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. Не обязательно должно быть более ранней датой, чем VALUE1 |
Возвращаемое значение | Положительное или отрицательное число типа INTEGER |
Пример | SELECT ACCOUNT_NAME, F_AGEINWEEKS(DUE DATE, CURRENT_DATE) AS OVERDUE_AGE FROM ACCOUNT WHERE ACCT BALANCE > 0 AND DUE DATE < CURRENT_DATE - (366/2); |
Связанные или похожие функции | См. также F_AGEINWEEKSTHRESHOLD |
FREEUDFLIB | F_AGEINWEEKSTHRESHOLD(VALUE 1, VALUE 2, MIHISVW, USEMIN, MAXVALUE, USEMAX) |
Win32 | Работает для F_AGEINWEEKS так же, как и F_AgelnDaysThreshold работает для F_AGEINDAYS |
FREEUDFLIB | F_CMONTHLONG(VALUE) |
Win32 | Получает TIMESTAMP или DATE и возвращает название месяца (на английском языке) в виде строки |
Аргументы | VALUE: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP |
Возвращаемое значение | 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November' или 'December' |
Пример | Следующий оператор добавляет 40 дней к текущей дате и возвращает название месяца полученной даты в виде строки: SELECT F CMONTHLONG(CURRENT_DATE + 40) FROM RDB$DATABASE; |
Связанные или похожие функции | См. также F CMONTHSHORT, SDOW, внешнюю функцию EXTRACT |
FREEUDFLIB | F_CMONTHSH0RT(VALUE) |
Win32 | Получает TIMESTAMP или DATE и возвращает сокращенное трехсимвольное название месяца (на английском языке) в виде строки |
FREEUDFLIB | F_MAXDATE(VALUE1, VALUE2) |
Win32 | Получает два значения или выражения типа даты или времени и возвращает более позднюю из них в виде даты и времени (TIMESTAMP В диалекте 3, DATE В диалекте 1) |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP. VALUE2: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP |
Возвращаемое значение | Наиболее поздняя дата или выражение даты, преобразованное в тип TIMESTAMP |
FREEUDFLIB | F_MINDATE(VALUE1, VALUE2) |
Win32 | Получает два значения или выражения типа даты или времени и возвращает более раннюю из них в виде даты и времени (TIMESTAMP В диалекте 3, DATE в диалекте 1) |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP VALUE2: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP |
Возвращаемое значение | Наиболее ранняя дата или выражение даты, преобразованное в тип TIMESTAMP |
FREEUDFLIB | F_QUARTER(VALUE) |
Win32 | Получает значение или выражение типа даты или времени и возвращает квартал года |
Аргументы | VALUE: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP |
Возвращаемое значение | Возвращает 1 для месяцев с января по март, 2 для апреля - июня, 3 для июля - сентября и 4 для октября - декабря |
FREEUDFLIB | F_WOY(VALUE) |
Win32 | Возвращает строку, являющуюся конкатенацией года и номера недели в году |
Аргументы | VALUE: столбец или выражение, результатом вычисления которого является значение типа DATE или TIMESTAMP |
Возвращаемое значение | Возвращает целое число, представляющее цифры года, за которыми идут два символа, представляющие неделю года |
Пример | В следующем примере возвращается 200313: SELECT WOY('26.03.2003') FROM RDB$DATABASE; |