SQL Server 运算符优先级

打印 上一主题 下一主题

主题 941|帖子 941|积分 2823

在 SQL Server 中,运算符的优先级决定了在没有使用括号明确指定盘算顺序时,运算符的执行顺序。
运算符优先级列表


  • 括号

    • ()

  • 一元运算符

    • +(正号)
    • -(负号)
    • ~(按位取反)

  • 乘法、除法和取模

    • *(乘法)
    • /(除法)
    • %(取模)

  • 加法和减法

    • +(加法)
    • -(减法)

  • 按位移位

    • <<(左移)
    • >>(右移)

  • 比力运算符

    • =(即是)
    • >(大于)
    • <(小于)
    • >=(大于即是)
    • <=(小于即是)
    • <>(不即是)
    • !=(不即是)

  • 按位与

    • &

  • 按位异或

    • ^

  • 按位或

    • |

  • 逻辑运算符

    • NOT
    • AND
    • ALL
    • ANY
    • BETWEEN
    • IN
    • LIKE
    • OR
    • SOME
    • EXISTS

示例

为了更好地理解运算符优先级,以下是一些示例:
示例 1:加法和乘法

  1. SELECT 2 + 3 * 4 AS Result;
复制代码
在这个示例中,乘法运算符 * 优先级高于加法运算符 +,因此先执行 3 * 4,然后再执行加法运算 2 + 12,结果为 14。
示例 2:使用括号改变优先级

  1. SELECT (2 + 3) * 4 AS Result;
复制代码
在这个示例中,括号 () 改变了运算顺序,先执行括号内的加法运算 2 + 3,然后再执行乘法运算 (5) * 4,结果为 20。
示例 3:逻辑运算符

  1. SELECT 1 = 1 AND 2 = 2 OR 3 = 4 AS Result;
复制代码
在这个示例中,AND 运算符优先级高于 OR 运算符,先执行 1 = 1 AND 2 = 2,结果为 TRUE,然后再执行 TRUE OR 3 = 4,最终结果为 TRUE。
总结

相识 SQL Server 中运算符的优先级有助于避免在查询中出现意外的结果。发起在复杂表达式中使用括号明确指定盘算顺序,以提高代码的可读性和维护性。

   **喜好的话,请收藏 | 关注(✪ω✪)**    ……**万一有趣的事还在后头呢,Fight!!(o^-^)~''☆ミ☆ミ**……
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

徐锦洪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表