函数名称:round(DOUBLE a),返回类型:DOUBLE
返回数字 a 四舍五入后的值select round(1.5) from dual; -- 结果为 2
select round(1.1) from dual; -- 结果为 1
函数名称:round(DOUBLE a, INT d),返回类型:DOUBLE
返回数字 a 四舍五入到小数点后 d 位的值select round(1.15, 1) from dual; -- 结果为 1.2
select round(1.12, 1) from dual; -- 结果为 1.1
select round(1.12, 3) from dual; -- 结果为 1.12
select round(1.12, 0) from dual; -- 结果为 1.0
select round(1.12, -1) from dual; -- 结果为 0.0
函数名称:bround(DOUBLE a),返回类型:DOUBLE
返回数字 a 高斯舍入后的值
高斯舍入也称银行家舍入,简单的说就是四舍六入五考虑,五后非空就进一,五后为空看奇偶,五前为偶应舍去,五前为奇要进一-- 四舍
select bround(1.4) from dual; -- 结果为 1.0
-- 六入
select bround(1.6) from dual; -- 结果为 2.0
-- 五后非空就进一
select bround(1.51) from dual; -- 结果为 2.0
-- 五前为偶应舍去
select bround(2.5) from dual; -- 结果为 2.0
-- 五前为奇要进一
select bround(3.5) from dual; -- 结果为 4.0
函数名称:bround(DOUBLE a, INT d),返回类型:DOUBLE
返回数字 a 高斯舍入到小数点后 d 位的值-- 四舍
select bround(1.14, 1) from dual; -- 结果为 1.1
-- 六入
select bround(1.16, 1) from dual; -- 结果为 1.2
-- 五后非空就进一
select bround(1.151, 1) from dual; -- 结果为 1.2
-- 五前为偶应舍去
select bround(1.25, 1) from dual; -- 结果为 1.2
-- 五前为奇要进一
select bround(1.35, 1) from dual; -- 结果为 1.4
函数名称:floor(DOUBLE a),返回类型:BIGINT
对数字 a 向下取整select floor(1.1) from dual; -- 结果为 1
select floor(1.6) from dual; -- 结果为 1
select floor(-1.1) from dual; -- 结果为 -2
select floor(-1.6) from dual; -- 结果为 -2
函数名称:ceil(DOUBLE a), ceiling(DOUBLE a),返回类型:BIGINT
对数字 a 向上取整,ceil同ceilingselect ceil(1.1) from dual; -- 结果为 2
select ceil(1.6) from dual; -- 结果为 2
select floor(-1.1) from dual; -- 结果为 -1
select floor(-1.6) from dual; -- 结果为 -1
函数名称:rand(), rand(INT seed),返回类型:DOUBLE
如果?seed 不指定,则返回0到1之间的随机数,如:select rand() from dual; -- 结果为 0.9811062452094043
如果 seed 指定了,随机数是确定的,如:select rand(2) from dual; -- 结果为 0.7311469360199058
select rand(2020) from dual; -- 结果为 0.6188119599189963
select rand

本文介绍了Hive中的一系列数学函数,包括round、bround(高斯舍入)、floor、ceil,详细解释了它们的功能和用法,并给出了实际的例子,如四舍五入、高斯舍入、向下取整和向上取整等操作。
最低0.47元/天 解锁文章
1306

被折叠的 条评论
为什么被折叠?



