【发布时间】:2013-11-28 10:18:15
【问题描述】:
SELECT -1 * 100 / 10
SELECT 100 * -1 / 10
结果不同。第一个返回-10,第二个返回0。
显然是顺序造成的。
但我找不到任何信息表明除法的权重高于乘法。
看着http://technet.microsoft.com/en-gb/library/ms190276%28v=sql.105%29.aspx 乘法和除法在同一水平上,阅读就写好了
当一个表达式中的两个运算符具有相同的运算符优先级时 级别,根据他们在 表达。
关于这一点,第二个查询应该像这样评估:100 * -1 -> result / 10,不是吗?
【问题讨论】:
-
好吧,您的查询中有一个
minus,它也是一个运算符。试试 `select 100 * (-1) / 10 看看有什么不同...
标签: tsql