gpt4 book ai didi

sql - SQL Server : -100/-100*10 = 0 中奇怪的操作问题

转载 作者:行者123 更新时间:2023-12-01 16:55:16 25 4
gpt4 key购买 nike

  • 如果执行 SELECT -100/-100*10,结果为 0
  • 如果执行 SELECT (-100/-100)*10,结果为 10
  • 如果执行 SELECT -100/(-100*10),结果为 0
  • 如果执行 SELECT 100/100*10,结果为 10

BOL状态:

When two operators in an expression have the same operator precedence level, they are evaluated left to right based on their position in the expression.

还有

Level   Operators
1 ~ (Bitwise NOT)
2 * (Multiplication), / (Division), % (Modulus)
3 + (Positive), - (Negative), + (Addition), + (Concatenation), - (Subtraction), & (Bitwise AND), ^ (Bitwise Exclusive OR), | (Bitwise OR)

BOL 是错的,还是我遗漏了什么?看来 - 正在抛弃(预期的)优先级。

最佳答案

根据优先级表,这是预期的行为。优先级较高的运算符(/*)先于优先级较低的运算符(一元 -)进行计算。所以这个:

-100 / -100 * 10

评估为:

-(100 / -(100 * 10))

请注意,此行为与大多数编程语言不同,在大多数编程语言中,一元否定的优先级高于乘法和除法,例如VB , JavaScript .

关于sql - SQL Server : -100/-100*10 = 0 中奇怪的操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54513450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com