示例1
两个操作数都是整型。
gbase> SELECT 5 DIV 2 FROM t;
+---------+
| 5 DIV 2 |
+---------+
| 2 |
+---------+
1 row in set
说明
函数失败时,不同引擎表现不同,例如:
4 DIV 0 在8a 上返回NULL,在hive 引擎报错;
4 DIV -2.567 在8a 上会将返回-1,在hive 引擎报错。
数学函数
所有的数学函数在发生错误的情况下,8a 引擎均返回NULL。其它引擎可能报
错或返回其它值;
不同引擎上执行数学函数时,返回值的精度可能不同。
数学函数对decimal 类型运算的支持程度说明如下:
下列数学函数运算支持decimal 精确类型运算,返回结果为decimal 类型时
精度最少达到16 位。
该功能由参数gbase_decimal_calculation 控制,
默认为0 关
闭,函数运算结果为double 类型;值设置为1 时开启,返回规则见下表:
数学函数
x 类型
y 类型
返回类型
Exp(x)
Sqrt(x)
Ln(x)
Int/decimal
-
decimal
double
-
double
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 451
Log(x)/log2(x)/log10(x)
Log(x,y)
Pow(x,y)
Int/decimal
Int/decimal
decimal
Int/decimal
double
double
double
Int/decimal/double double
注:
1. 返回值类型精度默认为16 位。
2. 入参最大精度不足16 位时返回值类型精度为16 位。
3. 入参最大精度大于16 位时函数返回值类型精度为入参最大精度。
4. 结果为decimal 类型时,结果范围变小,表示范围为decimal(65,精度)的最大表
示范围。精度越高,表示范围越小。
5. gbase_decimal_calculation 参数开启后结果类型为decimal 时与升级前版本的结
果集不兼容。