- 指定精度取整函数: round
语法: round(double a,int d)
返回值 : DOUBLE
说明 : 返回指定精度的double类型
举例 :
hive> select round(3.1415926,4);
3.1416
- 向下取整函数 : cell
语法 : cell(double a)
返回值 :BIGINT
说明 : 返回等于或者大于该double变量的最小整数
举例
hive> select ceil(3.1415926);
4
hive> select ceil(46);
46
- 取随机数函数 : rand
语法 : rand(),rand(int seed)
返回值:double
说明 :返回一个0到1范围内的随机数。如果指定种子seed,则会等到一个稳定的随机数序列
rand()里面没有数字是一个随机数,有数字就是一个固定的随机数序列
举例 :
hive> select rand();
0.5577432776034763
hive> select rand(100);
0.7220096548596434
hive> select rand(100);
0.7220096548596434
- 绝对值函数 : abs
语法 :abs(double a), abs(int a)
返回值 : double , int
说明 : 返回数值a的绝对值
举例 :
hive> select abs(-3.9) from dual;
3.9
hive> select abs(10.9) from dual;
10.9
- 左补足函数 :lpad
语法: lpad(String str ,int len,string pad)
返回值 : String
说明 : 将str按照指定字符,在左边补充到 len 位
举例 :
-- 从左边补齐七位数,用0补充
select lpad('111',7,'0');
+----------+
| _c0 |
+----------+
| 0000111 |
+----------+
注意: 与GP,Oracle不同, pad 不能默认
-
右补足函数: lpad
语法: lpad(string str, int len, string pad)
返回值:string
说明:将str按照指定字符,在右边补充到len位
举例:
-- 从右边补齐七位数,用0补充,如果有小数点,小数点也算一位 select rpad('111',7,'0'); +----------+ | _c0 | +----------+ | 1110000 | +----------+ select rpad('111.0',7,'0'); +----------+ | _c0 | +----------+ | 111.000 | +----------+
本文介绍了Hive中常用的数值函数,包括round函数用于指定精度取整,cell函数进行向下取整,rand函数生成随机数,以及abs函数计算绝对值。此外,还提到了字符串操作的lpad和rpad函数,用于字符串的左右补足。
2796

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



