算术运算符用来对一个或两个参数进行求反、加、减、乘和除等操作。其中一些算术运算符还可用于计算日期时间和间隔值。算术运算符的参数必须解析为数字数据类型或任何可以被数据库直接转换为数字数据类型的数据类型。

    一元算术运算符返回的数据类型与参数的数据类型相同。对于二进制算术运算符,OceanBase 先确定表达式中数值优先级最高的参数,再将其余参数转换为该参数的数据类型。

    下表列出了算术运算符:

    运算符

    说明

    +、-

    用于表示正、负时,它们是一元运算符。

    +、-

    用于表示加、减时,它们是二进制运算符。

    *、/

    二进制运算符,用于表示乘、除。

    算术表达式中不能使用两个连续的负号(—)来表示双重求反或减去一个负值,因为字符 — 在 SQL 语句中用于指定注释。可以用空格或括号分隔连续的减号。有关 SQL 语句中的注释,详细信息请参阅章节 注释

    以下示例展示了运算符 +、- 用于表示正、负的 SQL 查询:

    1. SELECT * FROM order_items WHERE quantity = -1 ORDER BY order_id, line_item_id, product_id;
    2. SELECT * FROM employees WHERE -salary < 0 ORDER BY employee_id;

    以下示例展示了运算符 +、- 用于表示加、减的 SQL 查询:

    1. SELECT hire_date FROM employees WHERE SYSDATE - hire_date > 365 ORDER BY hire_date;

    以下示例展示了 *、/ 运算符表示乘、除的 SQL 查询:

    1. UPDATE employees SET salary = salary * 1.1;
    2. UPDATE employees SET salary = salary / 2;