Hello, Yurij!

Yurij wrote:
А вот почему такой запрос

select 111111111111.0000*1.0000 from rdb$database

выдает такую ошибку:

Unsuccessful execution caused by system error that does not preclude
successful execution of subsequent statements.Integer overflow.  The
result of an integer operation caused the most significant bit of the
result to carry.

потому что так повелось с 2000 года, когда в IB 6.0 появился третий диалект.
Numeric(16,4) * numeric(5, 4) = numeric (18,8).
18 - 8 = 10, а у тебя в целой части первого числа 12 знаков,
что больше 10.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34


Ответить