暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

OceanBase SQL语句运算符概述和优先级

2024-04-30
356

运算符一般用于连接操作数或参数等单个数据项并返回结果。从语法上讲,运算符可以出现在操作数之前、操作数之后或两个操作数之间。

常见的运算符还可以分为一元和二元运算符:

  • 一元运算符

    一元运算符仅对一个操作数进行运算。一元运算符常用的格式如下:

    运算符 操作数
    
  • 二元运算符

    二元运算符是对两个操作数进行运算。二元运算符的常用格式如下:

    操作数1 运算符 操作数2
    

说明

  • 其他具有特殊格式的运算符可接受两个以上的操作数。
  • 如果为运算符提供了空操作数 NULL, 则结果始终为空。唯一不遵循此规则的是字符连接运算符(||)。

OceanBase 数据库目前支持如下运算符:


OceanBase 数据库目前支持算术运算符、位运算符、比较运算符、逻辑运算符、日期时间运算符、字符连接运算符和排序规则运算符等。

运算符优先级概览

运算符从最高优先级到最低优先级如下所示。同一行上的运算符具有相同的优先级。

COLLATE
!
- (一元减), ~ (一元位反转)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (比较), <=>, >=, >, <=, <, <>, !=, IN
BETWEEN,
NOT
AND, &&
XOR
OR, ||
= (赋值), :=

说明

  • = 的优先级取决于它是用作比较运算符 (=) 还是用作赋值运算符 (=)。当用作比较运算符时,它具有与 <=>>=><=<<> 和 != 相同的优先级;当用作赋值运算符时,它具有与 := 相同的优先级。

  • 如果在表达式中出现相同优先级的运算符,从左到右进行计算,但赋值运算从右到左。

  • 如下运算符的优先级和含义取决于 SQL 模式:

    • 默认情况下,|| 是逻辑 OR 运算符。启用 PIPES_AS_CONCAT 后,|| 是字符串连接,优先级在 ^ 和一元运算符之间。

    • 默认情况下, 具有比 NOT 更高的优先级。启用 HIGH_NOT_PRECEDENCE 后, 并且不具有相同的优先级。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论