我觉得我快要疯了
SELECT 30.0/(-2.0)/5.0;
SELECT 30.0/-2.0/5.0;

这是怎么回事?
编辑
谁说x/(y)/z会是(x/y)/z而不是x(y/z)?
发布于 2012-04-03 02:04:20
SELECT 30.0/(-2.0)/5.0;相当清楚:
SELECT 30.0/(-2.0)=-15.0
-15.0/5.0=-3.0第二个select被解释为:SELECT 30.0/-(2.0/5.0);
2.0/5.0=0.4
30.0/-0.4=-75.0请参阅:Operator Precedence (Transact-SQL)
发布于 2012-04-03 02:06:47
您的第二个select将按如下方式执行:
select 30.0/-(2.0/5.0)看起来像是减号导致SQL Server颠倒了最后一个除法--我敢肯定这是一个错误!
https://stackoverflow.com/questions/9981363
复制相似问题