Hive常用内置函数合集

Hive常用内置函数

常用函数列表
函数 用法
round(double a) 近似函数,返回double类型的整数值部分(遵循四舍五入)
round(double a,int b) 指定进度近似函数,返回长整型最近的double值
floor(double a) 向下取整,返回最大的长整型等于或小于double值
ceil(double a) 向上取整,返回最小bigint值等于或大于double
ceiling(double a) 向上取整,返回不小于a的最小整数
rand(),rand(int seed) 返回一个随机数,从行改变到行
size(map<K,V>) 返回在映射类型的元素的数量
size(array) 返回数组流泪记性元素的数量
cast(expr as type) 返回表达式expr转换为type的结果,如果转换不成功就会返回null
日期函数列表
函数 用法
from_unixtime(bigint unixtime[,string format]) unix时间戳转日期函数,转换的秒数是从1970-01-01 00:00:00 UTC代表的那一刻开始,在当前系统时区的时间戳字符串格式:'1970-01-01 00:00:00',例如,select from_unixtime(15900000000,'yyyy-MM-dd')
unix_timestamp() 获取当前时区的unix时间戳
unix_timestamp(string date) 日期转换unix时间戳函数,转换格式为'yyyy-MM-dd HH:mm:ss'的日期到unix时间戳,若转换失败,则返回null
unix_timestamp(string date,string pattern):转换pattern格式的日期到unix时间戳,例如:select unix_timestamp('20200520 02:40:00','yyyyMMdd HH:mm:ss')
to_date(string timestamp) 日期时间转日期函数,返回一个字符串时间戳的日期部分
year(string date) 日期转年函数,返回日期或时间戳字符串的年份部分
month(string date) 日期转月函数,返回日期或时间戳字符串的月份部分
day(string date) 日期转天函数,返回日期或时间戳字符串的天
hour(string date) 日期转小时函数,返回日期中的小时,int类型
minute(string date) 日期转分钟函数,返回日期中的分钟,int类型
second(string date) 返回日期中的秒,int类型
weekofyear(string date) 日期转周函数,返回日期在该年的周数,int类型
date_diff(string enddate,string startdate) 日期比较函数,返回结束日期减去开始日期的天数,int类型
date_add(string startdate,int days) 返回开始日期startdate增加days天后的日期
date_sub(string startdate,int days) 返回开始日期减少days天后的日期
字符串函数列表
函数 用法
length(string a) 返回字符串啊的长度
reverse(string a) 返回字符串a反转后的结果
concat(string a,string b,...) 返回a串联b产生的字符串,支持任意多个字符串
concat_ws(string sep,string a,string b,...) 返回a,b在sep连接之后的字符串,sep为各个字符串间的分隔符
substr(string a,int start) 字符串截取函数,返回从a的开始位置到结尾的子字符串
substr(string a,int start,int length) 字符串截取函数,返回a字符串从strart位置开始长度为length的子字符串
upper(string a) 返回a字符串中的所有字符的大写字符串
ucase(string a) 返回a字符串中的所有字符的大写字符串
lower(string a) 返回a字符串中所有字符的小写字符串
lcase(string a) 返回a字符串中所有字符的小写字符串
trim(string a) 返回去掉a字符串中所有的空格的字符串
ltrim(string a) 返回去掉字符串a左侧的所有空格的字符串
rtrim(string a) 返回去掉字符串右侧的所有空格的字符串
regexp_replace(string a,string b,string c) 返回c替换字符串a中所有b子字符串的结果
space(int n) 返回长度为n的空字符串
repeat(string str,int n) 重复字符串函数,返回重复n次后的str字符串
asccii(string str) 首字符asccii函数,返回字符串str第一个字符的asccii码
Ipad(string str,int len,string pad) 左补足函数,将str用pad进行左补足到len位
rpad(string str,int len,string pad) 右补足函数,将str用pad进行右补足到len位
split(string str,string pat) 按照pat字符串分割str,会返回分割后的字符串数组
find_in_set(string str,string strList) 返回str在strlist第一次出现的位置,strlist是用逗号分割的字符串集合,没有找到就返回0
聚合函数列表
函数 用法
count(*),count(expr) , 返回检索的行的个数
sum(col),sum(distinct col) 返回该列或该列的不同元素的总和
avg(col),avg(distinct col) 返回列或该列不同元素的平均值
min(col) 返回该列中的最小值
max(col) 返回该列中的最大值
条件判断函数列表
函数 用法
if(testcondition,T value,F value) 判断条件只有两种结果时,可以使用if,如果为ture就返回T值,如果为False就返回F值
coalesce(T v1,T v2,...) 非空查找函数,返回参数中第1个非空值,如果所有值都为null,那么返回null
case condition when a then b when c then d else e end 多条件判断
相关推荐
viperrrrrrrrrr716 小时前
大数据学习(36)- Hive和YARN
大数据·hive·学习
重生之Java再爱我一次19 小时前
Hive部署
数据仓库·hive·hadoop
JZC_xiaozhong1 天前
低空经济中的数据孤岛难题,KPaaS如何破局?
大数据·运维·数据仓库·安全·ci/cd·数据分析·数据库管理员
村口蹲点的阿三1 天前
Spark SQL 中对 Map 类型的操作函数
javascript·数据库·hive·sql·spark
狮歌~资深攻城狮2 天前
TiDB出现后,大数据技术的未来方向
数据库·数据仓库·分布式·数据分析·tidb
狮歌~资深攻城狮2 天前
TiDB 和信创:如何推动国产化数据库的发展?
数据库·数据仓库·分布式·数据分析·tidb
雪芽蓝域zzs2 天前
JavaWeb开发(十五)实战-生鲜后台管理系统(二)注册、登录、记住密码
数据仓库·hive·hadoop
Denodo2 天前
10倍数据交付提升 | 通过逻辑数据仓库和数据编织高效管理和利用大数据
大数据·数据库·数据仓库·人工智能·数据挖掘·数据分析·数据编织
狮歌~资深攻城狮2 天前
TiDB 的优势与劣势
数据仓库·数据分析·tidb
狮歌~资深攻城狮2 天前
TiDB与Oracle:数据库之争,谁能更胜一筹?
数据库·数据仓库·分布式·数据分析·tidb