Чтение онлайн

ЖАНРЫ

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

IB_UDF

SQRT(VALUE)

Linux, Win32

Возвращает квадратный корень числа

Аргументы

VALUE является столбцом или выражением, вычисляемым в число типа DOUBLE PRECISION

Возвращаемое значение

Число типа DOUBLE PRECISION

Пример

Фрагмент триггера:

... IF (SQRT(NEW.HYPOTENUSE) = SQRT(NEW.SIDE1) +

SQRT(NEW.SIDE2)) THEN

NEW.RIGHT ANGLED TRIANGLE = 'T';

FBUDF

TRUNCATE(VALUE)

Linux, Win32

Усекает тип с фиксированной точкой до следующего меньшего целого

Аргументы

VALUE является столбцом или выражением, вычисляемым в число с фиксированной точкой с дробными разрядами > 0

Возвращаемое

значение

Число целого типа

Замечания

Как и для некоторых других функций из этой библиотеки, вам нужно два объявления, чтобы использовать 32- и 64-битовый вход. Проверьте объявления в скрипте fdudf.sql truncate и i64truncate

Пример

Следующий оператор составляет смету на основе результата усечения произведения двух чисел NUMERIC (11,2):

SELECT JOB_NO,

TRUNCATE (RATE * HOURS) + 1 AS ESTIMATE FROM QUOTATION

WHERE RATE IS NOT NULL AND HOURS IS NOT NULL;

Связанные или похожие функции

См. также ROUND, F_TRUNCATE

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

FBUDF

DOW(VALUE)

Linux, Win32

Получает тип TIMESTAMP и возвращает день недели (на английском языке) в качестве строки со смешанными строчными и прописными буквами

Аргументы

VALUE- столбец или выражение, результатом вычисления которого является тип TIMESTAMP

Возвращаемое значение

'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' или 'Sunday'

Пример

Этот оператор добавляет четыре дня и возвращает день недели для настроенной даты:

SELECT DOW(CURRENT_DATE + 4) FROM RDB$DATABASE;

Связанные или похожие функции

См. также SDOW, внешнюю функцию EXTRACT

FBUDF

SDOW(VALUE)

Linux, Win32

Получает тип TIMESTAMP и возвращает день недели (на английском языке) в качестве аббревиатуры со смешанными строчными и прописными буквами

Аргументы

VALUE - столбец или выражение, результатом вычисления которого является тип TIMESTAMP

Возвращаемое значение

'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' или 'Sun'

Пример

Этот оператор добавляет четыре дня и возвращает день недели для настроенной даты:

SELECT SDOW(CURRENT_DATE + 4) FROM RDB$DATABASE;

Связанные или похожие функции

См. также DOW, внешнюю функцию EXTRACT

FBUDF

ADDDAY(VALUE1, VALUE2)

Linux, Win32

Добавляет полное число дней к типу даты или времени и возвращает эту измененную дату в виде TIMESTAMP

Аргументы

VALUE1: столбец или выражение, результатом вычисления которого является тип даты или времени.

VALUE2: количество добавляемых дней (целое число) или целое выражение

Возвращаемое значение

Настроенное TIMESTAMP (эквивалентно VALUE1 + VALUE2)

Замечания

Если входом является тип TIME, то дни будут добавлены к этому времени дня текущей даты. Если это тип DATE, ТО время дня будет полночью

Пример

Следующий оператор прибавляет 4 дня к текущей дате и возвращает полученную дату и время 0 часов 0 минут 0 секунд:

SELECT ADDDAY(CURRENT_DATE, 4)

FROM RDB$DATABASE;

Связанные или похожие функции

См. также ADDHOUR, ADDMINUTE и др.

FBUDF

ADDHOUR(VALUE1, VALUE2)

Linux, Win32

Добавляет полное количество часов к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP

Аргументы

VALUE1: столбец или выражение, результатом вычисления которого является тип даты или времени.

VALUE2: количество добавляемых часов (целое число) или целое выражение

Возвращаемое значение

Настроенное значение TIMESTAMP

(эквивалентно VALUE1 + (VALUE2 / 2))

Замечания

Если входное значение имеет тип TIME, ТО часы добавляются к этому времени для текущей даты. Если это тип DATE, то время дня будет полночью

Пример

Следующий оператор добавляет 10 часов и возвращает измененную дату и время:

SELECT ADDHOUR(CURRENT_TIMESTAMP, 10) FROM RDB$DATABASE;

Связанные или похожие функции

См. также ADDDAY, ADDMINUTE и т.д.

FBUDF

ADDMILLISECOND(VALUE1, VALUE2)

Linux, Win32

Добавляет полное количество миллисекунд к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP

Аргументы

VALUE1:

столбец или выражение, результатом вычисления которого является тип даты или времени.

VALUE2: количество добавляемых миллисекунд (целое число) или целое выражение

Возвращаемое значение тип TIMESTAMP

Замечания

Если входное значение имеет тип TIME, то миллисекунды добавляются к этому времени для текущей даты. Если это тип DATE, то время дня будет полночью

Пример

Следующий оператор добавляет 61 234 миллисекунды к текущему системному времени типа TIMESTAMP:

SELECT ADDMILLISECOND(CURRENT_TIME, 61234)

FROM RDB$DATABASE;

Связанные или похожие функции

См. также ADDDAY, ADDMINUTE и т.д.

FBUDF

ADDMINUTE(VALUE1, VALUE2)

Linux, Win32

Добавляет полное количество минут к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP

Аргументы

VALUE1: столбец или выражение, результатом вычисления которого является тип даты или времени.

VALUE2: количество добавляемых минут (целое число) или целое выражение

Возвращаемое значение

тип TIMESTAMP

Замечания

Если входное значение имеет тип TIME, ТО минуты добавляются к этому времени для текущей даты. Если это тип DATE, то время дня будет полночью

Пример

Следующий оператор добавляет 45 минут к текущему системному времени типа TIMESTAMP:

SELECT ADDMINUTE(CURRENT_TIME, 45)

FROM RDB$DATABASE;

Связанные или похожие функции

См. также ADDDAY, ADDSECOND и т.д.

FBUDF

ADDMONTH(VALUE1, VALUE2)

Linux, Win32

Добавляет полное количество месяцев к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP

Аргументы

VALUE1: столбец или выражение, результатом вычисления которого является тип TIMESTAMP.

VALUE2: количество добавляемых месяцев (целое число) или целое выражение

Возвращаемое значение

Тип TIMESTAMP, календарный месяц более поздний, чем VALUE1

Замечания

Если входное значение имеет тип TIME, то месяцы добавляются к этому времени дня для текущей даты. Если это тип DATE, ТО время дня будет полночью

Пример

Следующий оператор использует ADDMONTH для вычисления даты завершения контракта:

UPDATE CONTRACT

SET FINAL_DATE = CASE CONTRACT_TERM

WHEN 'HALF-YEARLY' THEN ADDMONTH(START_DATE, 6) WHEN 'YEARLY' THEN ADDMONTH(START_DATE, 12) ELSE ADDWEEK(START DATE, TRUNCATE (CONTRACT_AMT/WEEKLY_/EE) ) END

WHERE START_DATE IS NOT NULL AND AMT PAID IS NOT NULL AND WEEKLY_FEE IS NOT NULL AND CONTRACTED = 1.2345;

Связанные или похожие функции

См. также ADDDAY, ADDYEAR и т.д.

FBUDF

ADDSECOND(VALUE1 , VALUE2)

Linux, Win32

Добавляет полное количество секунд к типу даты или времени и возвращает измененную дату в виде типа TIMESTAMP

Аргументы

VALUE1: столбец или выражение, результатом вычисления которого является тип даты или времени.

VALUE2: количество добавляемых секунд (целое число) или целое выражение

Возвращаемое значение

Тип TIMESTAMP

Замечания

Если входное значение имеет тип TIME, то секунды добавляются к этому времени для текущей даты. Если это тип DATE, то время дня будет полночью

Пример

Следующий оператор добавляет 120 секунд к текущей системной дате:

SELECT ADDSECOND(CURRENT_DATE, 120) FROM RDB$DATABASE;

Связанные или похожие функции

См. также ADDMONTH, ADDMILLISECOND О и т.д.

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 и т.д.

Поделиться с друзьями: