首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL server奇怪的数学结果?

SQL server奇怪的数学结果?
EN

Stack Overflow用户
提问于 2012-04-03 02:00:31
回答 2查看 160关注 0票数 2

我觉得我快要疯了

代码语言:javascript
运行
复制
SELECT 30.0/(-2.0)/5.0;
SELECT 30.0/-2.0/5.0;

这是怎么回事?

编辑

谁说x/(y)/z会是(x/y)/z而不是x(y/z)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-03 02:04:20

SELECT 30.0/(-2.0)/5.0;相当清楚:

代码语言:javascript
运行
复制
SELECT 30.0/(-2.0)=-15.0
-15.0/5.0=-3.0

第二个select被解释为:SELECT 30.0/-(2.0/5.0);

代码语言:javascript
运行
复制
2.0/5.0=0.4
30.0/-0.4=-75.0

请参阅:Operator Precedence (Transact-SQL)

票数 7
EN

Stack Overflow用户

发布于 2012-04-03 02:06:47

您的第二个select将按如下方式执行:

代码语言:javascript
运行
复制
select 30.0/-(2.0/5.0)

看起来像是减号导致SQL Server颠倒了最后一个除法--我敢肯定这是一个错误!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9981363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档