Доброго времени суток!

Собственно, это cross-posting c 
http://forum.ibase.ru/phpBB2/viewtopic.php?p=23668#23668
, но там почему-то эта тема особого внимания не вызвала.

Обнаружили, что вычитание дат в FB 2 было изменено - идет округление
вместо отбрасывания разрядов, не влезающих в NUMERIC(18,9), как в 1.5

Таким образом

select (CAST('2007-08-22 00:00:00.0019' AS TIMESTAMP)-
      CAST('2007-08-22 00:00:00.0000' AS TIMESTAMP))*86400*10000
from rdb$database

в 1.5.4 даст 18,144
в 2.01 и 2.02 и 2.1.0.16309  -  19,008

Но при вычитании большей даты из меньшей на 2.0x, 2.1 получим
-18,144.
Подобное поведение неожиданно для пользователя.
Следует ли считать это багом?

С уважением, Евгений

Ответить