Hive常用内置函数
常用函数列表
函数用法round(double a)近似函数,返回double类型的整数值部分(遵循四舍五入)round(double a,int b)指定进度近似函数,返回长整型最近的double值floor(double a)向下取整,返回最大的长整型等于或小于double值ceil(double a)向上取整,返回最小bigint值等于或大于doubleceiling(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时间戳,若转换失败,则返回nullunix_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,那么返回nullcase condition when a then b when c then d else e end多条件判断
版权归原作者 长大的小蚂蚁 所有, 如有侵权,请联系我们删除。