我正在将一些内部应用程序从ADS 7.1升级到8.1。
我被告知,AVG()
函数的返回值以及某些除法计算都有变化,但我找不到有关这些变化的任何文档。
有人知道我在说什么或者有一个解释细节的链接吗?
答案 0 :(得分:4)
帮助文件中的“升级到版本8.1的影响”主题有一个关于更改的小段落,但不会涉及任何细节。
基本上,从版本8.1开始,Advantage现在遵循关于整数除法的SQL标准。整数除法表达式截断小数部分,过去它们会导致浮点结果。
要解决此更改,如果您仍希望它们生成浮点数据类型,则可能必须转换某些表达式。例如:
此:
select int1 / int2 from mytable;
需要更改为:
select cast( int1 as sql_float ) / int2 from mytable;