hive内置函数

--查询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()

相关推荐
陆水A15 小时前
【实时数仓·3】Flink多表JOIN状态爆炸——Event Time Temporal JOIN + TTL分层治理
大数据·数据仓库·数据分析·flink·数据库开发·bigdata
段一凡-华北理工大学17 小时前
工业领域的Hadoop架构学习~系列文章20:故障诊断与根因分析 - 从表象到本质的智能推理
大数据·人工智能·hadoop·学习·架构·高炉炼铁·工业智能体
Francek Chen17 小时前
【大数据处理与分析】MapReduce:05 MapReduce的具体应用
大数据·hadoop·分布式·mapreduce
zhangjin122217 小时前
DataX从入门到精通 第1课 ETL之DataX 安装DataX
数据仓库·etl·datax·datax安装教程
zhangjin122219 小时前
DataX从入门到精通 第2课 ETL之DataX 安装datax-web
数据仓库·etl·datax·datax-web·datax-web安装教程
知识分享小能手20 小时前
Hadoop学习教程,从入门到精通, 部署Hadoop 3.x — 知识点详解(2)
大数据·hadoop·学习
Database_Cool_20 小时前
AI 时代的数据仓库:阿里云 AnalyticDB MySQL 向量检索 + SQL 分析一体化实战
数据仓库·人工智能·mysql·阿里云
AQin101221 小时前
【对比向】既生瑜何生亮?不!Hive 和 Doris不一样
数据仓库·hive·hadoop·doris
段一凡-华北理工大学1 天前
工业领域的Hadoop架构学习~系列文章19:能源行业Hadoop应用实践
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
Database_Cool_1 天前
数据仓库弹性扩缩容实践:阿里云 AnalyticDB MySQL 按需付费方案详解
数据仓库·mysql·阿里云