--查询hive的内置函数列表
show functions;

--查询具体函数的使用描述
desc function extended 函数名
desc function extended current_database;

一.字符串函数
1.字符串的拆分 :split();
select split('hello,java;hi,bigdata','[,;]');

\]内可以写多个分隔符 ----获取字符串拆分后的元素 --通过数组下标获取元素 ##### select split('hello,java;hi,bigdata','\[,;\]') \[0\]; 2.字符串的拼接:**concat()** select concat('abc','def'); --根据指定的分隔符拼接字符串: concat_ws() concat_ws(sep,str2,str3) select concat_ws('.','www','baidu','com'); 3.字符串的截取 : **substr()** //字符串的起始索引位置为1,从索引位置为5的字符开始截取 到字符串的结尾 **select substr('facebook',5); ---book** 如果截取的起始索引位置为负数,表示从字符串的末尾位置开始 向前找到索引位置 **select substr('facebook',-5);** 从索引位置为5的字符开始截取,j截取长度为2 **select substr('facebook',5,2); --bo** substring()与substr()函数一致 4.查询指定字符串出现的位置:**instr()** **--instr(str,substr):**在字符串str中查找substr首次出现的索引位置,如果不存在则返回0 select instr('facebook','b'); 5.获取字符串的长度:**length()** select length ('facebook'); 6.将字符串的字母转换大写 **upper** select upper('min') 7.将大写字母转换成小写 **lower()** select lower('MAX') 8.去除字符串前后的空格:**trim()** select trim(' strin g '); --ltrim():去除字符串左侧的空格 --rtrim():去除字符串右侧的空格 9.对字符串进行替换:**regexp_replace()** --**string regexp_replace(str,正则表达式,replaceStr)**:将字符串中符合正则表达式的字符串替换 select regexp_replace('foobar','oo\|ar',''); --fb 10.对于json字符串进行元素提取:**get_json_object()** #### 二.类型转换函数:cast() --newtype cast(attr as newtype): 将字符串attr转换成newtype类型 --将字符串1转换成double类型 newtype cast('1' as double) #### 三.数值函数 1.对浮点数进行四舍五入:**round()** 根据浮点数中的小数第一位进行四舍五入,返回一个整数 select round(12.3456); ---12 select round(12.789); ---13 --返回浮点数的指定小数位置,进行四舍五入后的值 select round(12.3456,1); 2.对浮点数进行向下取整:**floor()** select floor(1.1); --1 select floor(1.9); --1 select floor(-1,9); -- -2 3.对浮点数进行向上取整:**ceil()** select cail(1.1); --2 select ceil(-1.9) -- -1 4.获取数值的绝对值:**abs()** select abs(-1.1); -- 1.1 5.获取一个随机数 :**rand()** --获取一个0-1之间的随机数 select rand(); --输入一个种子数如果种子数固定则获取的浮点随机数也是固定的 select rand(种子数); #### 四.聚合函数 sum() count() max() min() avg()