优势8.1 vs 7.1

发布于 2024-07-24 22:29:15 字数 132 浏览 5 评论 0原文

我正在将一些内部应用程序从 ADS 7.1 升级到 8.1。

不久前我被告知 AVG() 函数的返回值以及一些除法计算发生了变化,但我找不到有关这些变化的任何文档。

有谁知道我在说什么或有解释详细信息的链接吗?

I am in the process of upgrading a few in-house applications from ADS 7.1 to 8.1.

I was told a while back that there are changes in return values of the AVG() function as well as some division calculations, but I cannot find any documentation on these changes.

Does anyone know what I'm talking about or have a link that explains the details?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

祁梦 2024-07-31 22:29:15

帮助文件中的“升级到版本 8.1 的效果”主题有一小段关于更改的内容,但没有详细介绍。

基本上,从版本 8.1 Advantage 开始,Advantage 现在遵守有关整数除法的 SQL 标准。 整数除法表达式的小数部分被截断,而在过去它们会产生浮点结果。

为了解决此更改,如果您仍希望某些表达式生成浮点数据类型,则可能必须强制转换它们。 例如:

这:

select int1 / int2 from mytable;

需要更改为:

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

The "Effects of Upgrading to Version 8.1" topic in the help file has a small paragraph about the change, but doesn't go into any details.

Basically, as of version 8.1 Advantage now adheres to the SQL standard with regards to integer division. Integer division expressions have the fractional portion truncated, where in the past they would result in a floating point result.

To address this change, you may have to cast certain expressions if you still want them to result in a floating point data type. For example:

This:

select int1 / int2 from mytable;

Would need to change to:

select cast( int1 as sql_float ) / int2 from mytable;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文