算术运算符

二元算术运算符可组合返回数值的表达式。
算术运算 算术运算符 运算符函数   算术运算 算术运算符 运算符函数
加法 + plus( )   乘法 * times( )
减法 minus( )   除法 / divide( )
下列示例使用二元算术运算符:
quantity * total_price 
          price * 2 
          COUNT(*) + 2 

如果您将 DATETIME 值与一个或多个 INTERVAL 值组合,则所有 INTERVAL 值的字段都出现在 DATETIME 值中;不执行隐式的 EXTEND 功能。此外,您不可使用带有 DAY 至 SECOND 间隔的 YEAR 至 MONTH 间隔。要获取关于二元算术运算符的附加信息,请参阅 GBase 8s SQL 参考指南

二元算术运算符与运算符函数相关联,如前面的表格所示。以二元运算符连接两个表达式等同于对这些表达式调用相关联的运算符函数。例如, 下列两个语句都选择 total_price 列与 2 的乘积。在第一个语句中,* 运算符隐式地调用 times( ) 函数。
SELECT (total_price * 2) FROM items 
            WHERE order_num = 1001;
            SELECT times(total_price, 2) FROM items
            WHERE order_num = 1001;

您不可使用算术运算符来将使用聚集函数的表达式与列表达式组合。

数据库服务器为所有内建的数据类型提供与关系运算符相关联的运算符函数。您可定义这些运算符函数的新版本来处理您自己的用户定义的数据类型。

要获取更多信息,请参阅 GBase 8s 用户定义的例程和数据类型开发者指南

数据库服务器还支持下列一元算术运算符。
数值的符号 一元算术运算符 运算符函数
+ positive( )
negate( )

一元算术运算符有前面的表格展示的相关联的运算符函数。您可定义这些函数的新版本来处理您自己的用户定义的数据类型。要获取更多关于此主题的信息,请参阅 GBase 8s 用户定义的例程和数据类型开发者指南

如果参与在算术表达式中的任何值为 NULL,则整个表达式的值为 NULL,如下例所示:
SELECT order_num, ship_charge/ship_weight FROM orders
          WHERE order_num = 1023;

如果或 ship_chargeship_weight 为 NULL,则表达式,ship_charge/ship_weight 的返回值也为 NULL。 如果在条件中使用 NULL 表达式 ship_charge/ship_weight,则它的真值不可为 TRUE,且不满足条件(除非该 NULL 表达式是 IS NULL 运算符的一个运算对象)。