龙空技术网

SQL | Hive中的常用数值函数清单

爱思考布莱兹6Z5L 204

前言:

今天看官们对“sql 四舍五入取整数函数”大体比较珍视,各位老铁们都需要剖析一些“sql 四舍五入取整数函数”的相关内容。那么小编在网络上网罗了一些关于“sql 四舍五入取整数函数””的相关资讯,希望同学们能喜欢,兄弟们一起来了解一下吧!

引言:日常使用SQL获取所需数据,当遇到数据量级较大时,企图通过先跑明细数据,再下载后通过Excel来加工处理的方法基本上行不通,此时的Excel对于我们的加工执行动作的反应会极其的慢或电脑直接处于卡死状态,于是我们就希望通过SQL来提升大数据的加工速度,一般的数据加工都会用到数值计算函数,那我们一起来学习Hive中的常用数值计算函数和他们的使用方法吧,知识共享,喜欢的友友请收藏+关注。

1. 取整函数: round

语法 : round(double a)

返回 : bigint

说明 : 返回 double 类型的整数值部分 (遵循四舍五入)

示例:

hive> select round(3.1415926) from lxw_dual;返回:3hive> select round(3.5) from lxw_dual;返回:4
2. 指定精度取整函数: round

语法 : round(double a, int d)

返回: double

说明 : 返回指定精度的 double 类型

示例:

hive> select round(3.1415926,4) from lxw_dual;返回:3.1416
3. 向下取整函数: floor

语法 : floor(double a)

返回 : bigint

说明 : 返回等于或者小于该 double 变量的最大的整数

示例:

hive> select floor(3.1415926) from lxw_dual;返回:3hive> select floor(25) from lxw_dual;返回:25
4. 向上取整函数: ceil和ceiling

语法 : ceil(double a)

返回 : bigint

说明 : 返回等于或者大于该 double 变量的最小的整数

示例:

hive> select ceil(3.1415926) from lxw_dual;返回:4hive> select ceil(46) from lxw_dual;返回:46ive> select ceiling(3.1415926) from lxw_dual;返回:4hive> select ceiling(46) from lxw_dual;返回:46
5. 取随机数函数: rand

语法 : rand(),rand(int seed)

返回 : double

说明 : 返回一个 0 到 1 范围内的随机数。如果指定种子seed ,则会找到一个稳定的随机数序列

示例:

hive> select rand() from lxw_dual;返回:0.5577432776034763hive> select rand() from lxw_dual;返回:0.6638336467363424hive> select rand(100) from lxw_dual;返回:0.7220096548596434hive> select rand(100) from lxw_dual;返回:0.7220096548596434
6. 自然指数函数:exp和自然对数函数:ln

语法 : exp(double a)

返回 : double

说明 : 返回自然对数 e 的 a 次方

示例:

hive> select exp(2) from lxw_dual;返回:7.38905609893065

语法 : ln(double a)

返回 : double

说明 : 返回 a 的自然对数

示例:

hive> select ln(7.38905609893065) from lxw_dual;返回:2.0
7.幂运算函数: pow和power

语法 : pow(double a, double p)

返回 : double

说明 : 返回 a 的 p 次幂

示例:

hive> select pow(2,4) from lxw_dual;返回:16.0hive> select power(2,4) from lxw_dual;返回:16.0
8.开平方函数: sqrt

语法 : sqrt(double a)

返回 : double

说明 : 返回 a 的平方根

示例:

hive> select sqrt(16) from lxw_dual;返回:4.0
9.二进制函数: bin

语法 : bin(bigint a)

返回 : string

说明 : 返回 a 的二进制代码表示

示例:

hive> select bin(7) from lxw_dual;返回:111
10.十六进制函数: hex

语法 : hex(bigint a)

返回 : string

说明 : 如果变量是 int 类型,那么返回 a 的十六进制表示;如果变量是 string 类型,则返回该字符串的十六进制表示

示例:

hive> select hex(17) from lxw_dual;返回:11hive> select hex(‘abc’) from lxw_dual;返回:616263
11.绝对值函数: abs

语法 : abs(double a) abs(int a)

返回 : double int

说明 : 返回数值 a 的绝对值

示例:

hive> select abs(-3.9) from lxw_dual;返回:3.9hive> select abs(10.9) from lxw_dual;返回:10.9
12.正取余函数: pmod

语法 : pmod(int a, int b),pmod(double a, double b)

返回值 : int double

说明 : 返回正的 a 除以 b 的余数

示例:

hive> select pmod(9,4) from lxw_dual;返回:1hive> select pmod(-9,4) from lxw_dual;返回:3
13.positive函数: positive

语法 : positive(int a), positive(double a)

返回 : int double

说明 : 返回 a

示例:

hive> select positive(-10) from lxw_dual;返回:-10hive> select positive(12) from lxw_dual;返回:12
14.negative函数: negative

语法 : negative(int a), negative(double a)

返回 : int double

示例 :

hive> select negative(-5) from lxw_dual;返回:5hive> select negative(8) from lxw_dual;返回:-8

标签: #sql 四舍五入取整数函数