FB3. Округление преобразования строки в число
Привет всем.
Открыл для себя, что в FB3 пара запросов:
select cast('1.5' as integer) from dual select cast(cast('1.5' as numeric(3,1)) as integer) from dual
возвращает двойку.
Точнее, про второй я как бы это знал и учитывал. А вот про первый нет …
Если мне не изменяет память, лет пятнадцать (а то и больше) вместо округления было обрезание.
IBProvider в первом случае округляет и, помню, мне говорили что я пру против сервера …
—
В общем, меня это настолько удивило, что я проверил на IB5.6.
Фух, память мне не изменяет.
«cast(‘1.5’ as integer)» возвращает 1.
«cast(cast(‘1.5’ as numeric(3,1)) as integer)» возвращает 2.
PS. Вот жеж …
dimitr on 25 февраля, 2021
В IB5.6 какой диалект был единственным? А в FB3 с каким проверял? Лучше бы проверил на IB6 в 3-м диалекте.