====== TRUNC() ====== ===== Версии сервера ===== ^ ^ 0.9 ^ 1.0 ^ 1.5.3 ^ 1.5.4 ^ 1.5.5 ^ 2.0 ^ 2.1 ^ 2.5 ^ 3.0 ^ ^Как [[UDF]] | Да | Да | Да | Да | Да | Да | - | - | - | ^Как встроенная функция | - | - | - | - | - | - | Да | Да | Да | ===== Доступно в ===== [[raznovidnosti_jazyka_sql|DSQL]], [[raznovidnosti_jazyka_sql|ISQL]], [[raznovidnosti_jazyka_sql|PSQL]] ===== Формат ===== TRUNC( < аргумент > , < знаков > ) ^ Аргумент ^ Описание ^ | < аргумент > | [[tipy_dannyx|Числовое выражение]] | | < знаков > | [[tipy_dannyx|INTEGER]] | | Возвращает | [[tipy_dannyx|INTEGER, BIGINT или DOUBLE]] | ===== Описание ===== Функция TRUNC() возвращает результат округления числа < аргумент > до < знаков > знаков после запятой //в меньшую по модулю сторону//. Если число < знаков > отрицательное, то округление идет до < знаков > знаков перед запятой. :!: Чтобы пользоваться этой функцией в Firebird версии младше 2.1, её небходимо подключить к базе данных как [[UDF]]. ===== Объявление ===== 1. В Firebird версии младше 2.1 функция объявляется как [[UDF]] в внешнем модуле "fbudf". DECLARE EXTERNAL FUNCTION TRUNC INTEGER BY DESCRIPTOR, INTEGER BY DESCRIPTOR RETURNS PARAMETER 2 ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'; 2. В Firebird версии 2.1 и старше является встроенной функцией при соглашении объявления ее как: DECLARE EXTERNAL FUNCTION TRUNC INTEGER BY DESCRIPTOR, INTEGER BY DESCRIPTOR RETURNS PARAMETER 2 ENTRY_POINT 'fbtruncate' MODULE_NAME 'SYSTEM'; ===== Пример ===== SELECT TRUNC(1111.23456, 2), TRUNC(1.23456, 0), TRUNC(1111.23456, -2) FROM RDB$DATABASE ===== См. также ===== [[UDF]], [[vstroennye_funkcii|Встроенные функции]], [[ROUND()]] ===== Источник ===== langref.pdf