select 100/3 from rdb$database = 33 ?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
kkvchel
Сообщения: 3
Зарегистрирован: 19 сен 2008, 13:09

select 100/3 from rdb$database = 33 ?

Сообщение kkvchel » 27 май 2009, 11:55

FireBird 1.5.5.4926.

Почему select 100/3 from rdb$database дает 33? А где дробная часть?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: select 100/3 from rdb$database = 33 ?

Сообщение hvlad » 27 май 2009, 12:05

Почему не читаем документацию ? Где RTFM dialects ?

kkvchel
Сообщения: 3
Зарегистрирован: 19 сен 2008, 13:09

Re: select 100/3 from rdb$database = 33 ?

Сообщение kkvchel » 27 май 2009, 12:26

А в какой конкретно документации?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: select 100/3 from rdb$database = 33 ?

Сообщение dimitr » 27 май 2009, 12:54

по стандарту деление двух целых чисел дает целый результат. Если нужна дробь, приводи тем или иным образом к NUMERIC или DOUBLE.

kkvchel
Сообщения: 3
Зарегистрирован: 19 сен 2008, 13:09

Re: select 100/3 from rdb$database = 33 ?

Сообщение kkvchel » 27 май 2009, 13:02

Спасибо за ответы. Заработало.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: select 100/3 from rdb$database = 33 ?

Сообщение kdv » 27 май 2009, 15:00

А в какой конкретно документации?
Это еще в InterBase 6.0 появилось. 9 лет назад.

Ответить