Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Остаток от деления


Автор: Scatman 29.1.2008, 07:55
Народ мне надо написать запрос в котором будет возвращаться остаток от деления 
если написать его с помощью цикла и в нем  получать этот остаток то это выглядит как то некрасиво. Есть ли встроенная в ИБ встроенная функция для получения остатка. 

Пример таков 
186 mod 100 = 86
 smile 

Автор: Magnifico 29.1.2008, 13:04
в ib_udf.sql  mod есть

    DECLARE EXTERNAL FUNCTION mod 
    INTEGER, INTEGER
    RETURNS DOUBLE PRECISION BY VALUE
    ENTRY_POINT 'IB_UDF_mod' MODULE_NAME 'ib_udf' ;


    select mod(186,100)   from rdb$database;

Автор: igor_123 29.1.2008, 17:33
версия сервера какая???

для FB2.1 и Yaffil
MOD
---

Function:
    MOD(X, Y) returns the remainder part of the division of X by Y.

Format:
    MOD( <number>, <number> )

Example:
    select mod(x, 10) from y;

для FB2 наверное выше приведенную UDF

Автор: kZ25 18.2.2008, 13:33
можно и просто :
Код

select 186 - (186/100 * 100) from RDB$Database

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)