Hive连接函数 concat 和 concat_ws 使用示例
concat 函数的语法:
- concat(str1, str2, …) :将多个字符串连接成一个字符串,中间使用空格进行分隔。
concat_ws 函数的语法:
- concat_ws(sep, str1, str2, …) :将多个字符串连接成一个字符串,使用指定的分隔符 sep 进行分隔。第一个参数是分隔符,后面的参数是要连接的字符串列或值。
1. 创建student_scores表,向student_scores表中插入数据
代码如下:
CREATE TABLE student_scores(
id INT,
name STRING,
score INT,
group_name STRING
);-- 向student_scores表中插入数据
INSERT OVERWRITE TABLE student_scores
VALUES(1,'Jack',96,'A组'),(2,'John',90,'A组'),(5,'Lucy',97,'A组'),(4,'Caocao',96,'B组'),(3,'Lvbu',99,'B组');
2.使用不同的连接函数来拼接字符串
select concat(group_name," - ", name," - ", score)
from student_scores;
select concat_ws(" - ", group_name, name, score)
from student_scores;
执行结果:
A组 - Jack -96
A组 - John -90
A组 - Lucy -97
B组 - Caocao -96
B组 - Lvbu -99
这两个查询结果都是将 group_name 、 name 和 score 字段连接起来,以" - "作为分隔符,形成新的字符串输出。
3. 总结这两个函数的使用场景如下:
- CONCAT 函数:
- 适用于简单的字符串拼接操作,将多个字符串连接成一个新的字符串。
- 可以用于创建自定义的文本字段,合并多个字段的内容,或者添加固定的分隔符。
- 适合在SQL查询中进行简单的字符串合并操作,不涉及复杂的逻辑或条件。
- CONCAT_WS 函数:
- 适用于需要指定分隔符的字符串拼接操作,其中 WS 表示"with separator"。
- 可以指定一个分隔符,将多个字符串连接起来,并在每个字符串之间插入指定的分隔符。
- 常用于生成带有特定分隔符的字符串,如生成CSV文件、日志文件等需要特定格式的数据。
总的来说, CONCAT 函数适用于简单的字符串连接操作,而 CONCAT_WS 函数则适用于需要指定分隔符的字符串连接操作。根据具体的业务需求和数据处理场景,选择合适的函数来实现字符串拼接操作。
更多字符串处理:Hive常用函数_20个字符串处理
版权归原作者 公子乂 所有, 如有侵权,请联系我们删除。