跳到主要内容

数学操作符

描述

你可以使用一个或两个参数的算术运算符来对数值进行取反、加法、减法、乘法和除法运算。其中一些运算符也用于日期时间和间隔的算术运算。运算符的参数必须解析为数值数据类型,或者可以隐式转换为数值数据类型的任何数据类型。

一元算术运算符返回与参数数值数据类型相同的数据类型。对于二元算术运算符,Doris 会根据隐式类型转换规则将参数转换为合适的类型做运算,并返回合适的类型作为结果。

操作符介绍

操作符作用示例
+ -一元操作符。表示对一个表达式取正值或负值操作。等价于 0 + a 和 0 - a
SELECT +(5 + 3), -(5 + 3);
+---------+---------------+
| (5 + 3) | (0 - (5 + 3)) |
+---------+---------------+
| 8 | -8 |
+---------+---------------+
+ -二元操作符。表示对两个表达式求加法或减法。
SELECT 5 + 3, 5 - 3;
+---------+---------+
| (5 + 3) | (5 - 3) |
+---------+---------+
| 8 | 2 |
+---------+---------+
* /二元操作符。表示对两个表达式求乘法或者除法。特殊情况:当除法的第二个参数为 0 时,返回 NULL
SELECT 5 * 3, 5 / 3;
+---------+-----------------------------------------+
| (5 * 3) | (cast(5 as DOUBLE) / cast(3 as DOUBLE)) |
+---------+-----------------------------------------+
| 15 | 1.6666666666666667 |
+---------+-----------------------------------------+
DIV二元操作符。表示对两个表达式求整数除法。特殊情况:当第二个参数为 0 时,返回 NULL
SELECT 5 DIV 3, 9 DIV 0;
+-----------+-----------+
| (5 DIV 3) | (9 DIV 0) |
+-----------+-----------+
| 1 | NULL |
+-----------+-----------+
%二元操作符。表示对两个表达式求余。特殊情况:当第二个参数为 0 时,返回 NULL
SELECT 5 % 3, 9 % 0;
+---------+---------+
| (5 % 3) | (9 % 0) |
+---------+---------+
| 2 | NULL |
+---------+---------+

注意事项

在算术表达式中:

  1. 不要使用连续减号--表示双重否定(这是 SQL 注释符号)
  2. 需要时请用空格或括号分隔:-(-5)- -5
  3. 更多注释规范请参阅注释章节