Hive学习笔记:字符串拼接
工作中需要合并区号与号码,因两个字段均为数值,无法直接使用 “+” 进行拼接,需要通过其他方法。
一、concat拼接
concat
将多个字段(字段类型可不相同)拼接起来。
使用语法为:
-- 语法
concat(string a, int b, float c)
-- 拼接多个字段
select concat('aa', 100, 5.5) from table_name;
-- 按分隔符拼接
select concat('aa', '-', 100, '-', 5.5);
-- 计算每个类别占比
select class,
concat(round(count(1)*100.0/total, 2), '%') as rate
from table_name
group by class;
二、concat_ws拼接
concat_ws
使用分隔符拼接,实现列转行。
使用语法为:
-- 分隔符、拼接字段
-- 必须为字符串类型
concat_ws(seperator, string a, string b, string c...)
-- 拼接
select concat_ws('-', 'aa', string(100), string(5.5));
-- 与group by结合实现列转行
select class,
concat_ws('-', collect_list(cast(score as string)))
from table_name
group by class;
三、cast转换类型
cast
将某个列转换为指定类型。
cast(values as type)
cast(score as string) -- int to string
四、collect_set 与 collect_list
常与 group by
结合使用,将一个字段元素形成一个集合(元素去重,类似于 Python
中的 set 集合)、列表(不去重)。
与 concat_ws
结合,即将元素以指定分隔符拼接成字符串。
参考链接:hive字符串拼接常用方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-11-19 蒙特卡罗算法:模拟