Преимущество 8.1 против 7.1 - PullRequest
2 голосов
/ 16 июня 2009

Я нахожусь в процессе обновления нескольких собственных приложений с ADS 7.1 до 8.1.

Некоторое время назад мне сказали, что есть изменения в возвращаемых значениях функции AVG(), а также некоторые вычисления деления, но я не могу найти какую-либо документацию по этим изменениям.

Кто-нибудь знает, о чем я говорю, или у вас есть ссылка, объясняющая детали?

1 Ответ

4 голосов
/ 17 июня 2009

Раздел «Эффекты обновления до версии 8.1» в файле справки содержит небольшой абзац об изменении, но не вдавается в подробности.

По сути, начиная с версии 8.1, преимущество теперь соответствует стандарту SQL в отношении целочисленного деления. Целочисленные выражения деления имеют усеченную дробную часть, где в прошлом они приводили к результату с плавающей запятой.

Чтобы устранить это изменение, вам может потребоваться привести определенные выражения, если вы все еще хотите, чтобы они приводили к типу данных с плавающей запятой. Например:

Это:

select int1 / int2 from mytable;

Необходимо изменить на:

select cast( int1 as sql_float ) / int2 from mytable;
...